Unix-system-calls-getunwind

提供:Dev Guides
移動先:案内検索

[top]#

|http://www.google.com/[Google] | a|

Web This Site
  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

[cols=",,,,,,,",]

| |  Home   | |  References   | |  Discussion Forums   | |  About TP  

[width="100%",cols="100%",]

a| == getunwind()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

getunwind-巻き戻しデータを呼び出し元のバッファーにコピーします

概要

#include <syscall.h> #include <linux/unwind.h> long getunwind (void* buf, size_t buf_size);

説明

*sys_getunwind* 関数は、ゲートページ(ユーザー空間にマッピングされるカーネルコード)を記述するアンワインドテーブルのサイズを返します。

巻き戻しデータは、_buf_size_サイズのバッファー_buf_にコピーされます。 データは、_buf_size_がアンワインドデータのサイズ以上で、_buf_がNULLでない場合にのみコピーされます。 どちらの場合も、システムコールはアンワインドデータのサイズを返します。

アンワインドデータの最初の部分には、アンワインドテーブルが含まれています。 残りには、関連する巻き戻し情報がランダムな順序で含まれています。 巻き戻しテーブルには、次のようなテーブルが含まれています。

        u64 start; (64-bit address of start of function)         u64 end; (64-bit address of start of function)         u64 info; (BUF-relative offset to unwind info)

STARTアドレスがゼロのエントリは、テーブルの終わりです。 形式の詳細については、IA-64ソフトウェアの規則とランタイムアーキテクチャを参照してください。

返り値

*sys_getunwind* 関数は、アンワインドテーブルのサイズを返します。

エラー

_buf_引数で指定されたスペースにアンワインド情報を保存できない場合、 sys_getunwind 関数は EFAULT で失敗します。

可用性

このシステムコールは、IA-64アーキテクチャでのみ使用可能です。

アプリケーションの使用

このシステムコールは廃止されました。 ゲートDSOでカーネルのアンワインド情報を取得することを強くお勧めします。 このDSOのELFヘッダーのアドレスは、AT_SYSINFO_EHDRを介してユーザーレベルに渡されます。

システムコールは、アプリケーションプログラムでは関数として使用できません。 syscall (2)関数を使用して呼び出すことができます。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

|  

[cols="^",]

|Advertisements