*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> libelfutil/xlate_init_fd (3)              
Title
Content
Arch
Section
 

r(3)

Contents


XLATE_INIT_FD(3E)					     XLATE_INIT_FD(3E)


NAME    [Toc]    [Back]

     xlate_init_fd: xlate_init_elf - open translation section

SYNOPSIS    [Toc]    [Back]

     #include <elf.h>
     #include <libelf.h>
     #include <dwarf.h>
     #include <libdwarf.h>
     #include <cmplrs/xlate.h>
     #include <libXlate.h>

     int xlate_init_fd(int fd,
       int open_debug_table,
       xlate_table_con	*returned_table_pointer);
     int xlate_init_elf(Elf *elf_handle,
       int open_debug_table,
       xlate_table_con *returned_table_pointer);

     int xlate_named_init_fd(int fd,
       const char * xlate_section_name,
       xlate_table_con	*returned_table_pointer);
     int xlate_named_init_elf(Elf *elf_handle,
       const char * xlate_section_name,
       xlate_table_con *returned_table_pointer);

DESCRIPTION    [Toc]    [Back]

     These are used to get (open) a handle on an Elf section containing
     translation information.  The handle allows one to	call any of the
     consumer functions.  it is	unspecified which

     xlate_init_fd takes as arguments:

     fd	     is	an IRIX	file-descriptor	which must be open(2) for reading on
	     an	Elf object file.

     open_debug_table
	     indicates which translation section to open.  If
	     XLATE_OPEN_STD_TABLE (0), then the	first section with sh_type
	     SHT_MIPS_XLATE is opened.	If XLATE_OPEN_STD_TABLE	(1), then the
	     first section with	sh_type	SHT_MIPS_XLATE_DEBUG is	opened.
	     XLATE_OPEN_STD_TABLE is the table normally	opened by debuggers
	     and other applictions needing to do address translations.	Only
	     sections with Elf section type SHT_MIPS_XLATE,
	     SHT_MIPS_XLATE_DEBUG, or SHT_MIPS_XLATE_OLD can be	opened.

     returned_table_pointer
	     is	a pointer to a consumer	table handle.  If the call to
	     xlate_init_fd is successful, the handle pointed to	is set a valid
	     consumer library handle.






									Page 1






XLATE_INIT_FD(3E)					     XLATE_INIT_FD(3E)



     xlate_init_elf takes as arguments:

     elf_handle
	     which must	be a valid open	pointer	on an existing Elf object as
	     returned by elf_begin(3e) and it must allow read access.

     open_debug_table
	     indicates which translation section to open.  If
	     XLATE_OPEN_STD_TABLE (0), then the	first section with sh_type
	     SHT_MIPS_XLATE is opened.	If XLATE_OPEN_STD_TABLE	(1), then the
	     first section with	sh_type	SHT_MIPS_XLATE_DEBUG is	opened.
	     XLATE_OPEN_STD_TABLE is the table normally	opened by debuggers
	     and other applictions needing to do address translations.	Only
	     sections with Elf section type SHT_MIPS_XLATE,
	     SHT_MIPS_XLATE_DEBUG, or SHT_MIPS_XLATE_OLD can be	opened.

     returned_table_pointer
	     is	a pointer to a consumer	table handle.  If the call to
	     xlate_init_fd is successful, the handle pointed to	is set to a
	     valid consumer library handle.

     xlate_named_init_fd takes as arguments:

     fd	     is	an IRIX	file-descriptor	which must be open(2) for reading on
	     an	Elf object file.

     xlate_section_name
	     indicates which translation section to open.  The normal string
	     passed in is ".MIPS.Xlate"	which is the name of the net
	     (composed)	address	translation table used by debuggers and	other
	     applictions needing to do address translations.  Any Elf section
	     with sh_type SHT_MIPS_XLATE, SHT_MIPS_XLATE_DEBUG,	or
	     SHT_MIPS_XLATE_OLD	may be opened.

     returned_table_pointer
	     is	a pointer to a consumer	table handle.  If the call to
	     xlate_init_fd is successful, the handle pointed to	is set a valid
	     consumer library handle.

     xlate_named_init_elf takes	as arguments:

     elf_handle
	     which must	be a valid open	pointer	on an existing Elf object as
	     returned by elf_begin(3e) and it must allow read access.

     xlate_section_name
	     indicates which translation section to open.  The normal string
	     passed in is ".MIPS.Xlate"	which is the name of the net
	     (composed)	address	translation table used by debuggers and	other
	     applictions needing to do address translations.  Any Elf section
	     with sh_type SHT_MIPS_XLATE, SHT_MIPS_XLATE_DEBUG,	or
	     SHT_MIPS_XLATE_OLD	may be opened.



									Page 2






XLATE_INIT_FD(3E)					     XLATE_INIT_FD(3E)



     returned_table_pointer
	     is	a pointer to a consumer	table handle.  If the call to
	     xlate_init_fd is successful, the handle pointed to	is set to a
	     valid consumer library handle.


     Use -lelfutil -lelf on the	link command line to link  in the xlate
     functions.

     You must install the compiler_eoe.hdr.internal subsystem to get the
     headers necessary to work with the	xlate functions	and leb128 functions
     they call.

FILES    [Toc]    [Back]

     /usr/include/libXlate.h
     /usr/include/cmplrs/xlate.h
     /usr/include/elf.h
     /usr/include/dwarf.h
     /usr/include/libdwarf.h
     /usr/lib/libelfutil.a

DIAGNOSTICS    [Toc]    [Back]

     These return XLATE_TB_STATUS_NO_ERROR (0) on success.  In case of error,
     a negative	number is returned indicating the error.  In case of error,
     nothing is	returned thru the pointer arguments which would	return values
     on	successful call	(values	might have been	changed	thru these pointers
     but any such changes are not meaningful).

     If	the requested section does not exist, XLATE_TB_STATUS_NO_XLATE is
     returned.	This is	not really an error, just an indication	that there is
     no	such section and there is no value returned thru
     returned_table_pointer.

     XLATE_TB_STATUS_SECTION_TOO_SMALL
	     means that	the translation	section	is too small to	be real	or
	     that there	is less	space in the section than the translation
	     section data says it contains.

     XLATE_TB_STATUS_INCONSISTENT_64_BIT_INFO
	     means that	the translation	section	is marked as a 64bit section
	     but the a.out or DSO is marked as 32 bit (or vice versa).

     XLATE_TB_STATUS_BAD_TABLEKIND
	     The tablekind in the translation section is not one of the
	     predefined	values:	something is corrupted or an obsolete
	     tablekind thought not to exist does exist.

     XLATE_TB_STATUS_NOT_ELF
	     elf_kind(3e) on the file says the file is not a plain Elf file.






									Page 3






XLATE_INIT_FD(3E)					     XLATE_INIT_FD(3E)



     XLATE_TB_STATUS_ELF_IDENT_BAD
	     elf_getident(3e) returns an invalid Elf ident value.  The file is
	     apparently	not a valid Elf	file.

     XLATE_TB_STATUS_ELF_SHDR_BAD
	     elf32_getshdr(3e),	or elf64_getshdr(3e) could not find a section
	     in	the Elf	file that should be there. Some	kind of	corruption
	     (file or data) is occurring.  The file is apparently not a	valid
	     Elf file.

     XLATE_TB_STATUS_NO_XLATE
	     Normal return when	there is no translation	section	of the
	     requested type.

     XLATE_TB_STATUS_NO_XLATE_DATA
	     There is a	translation section but	the section is empty!
	     Something is wrong	with the Elf file.

     XLATE_TB_STATUS_ALLOC_FAIL
	     A call to malloc()	or realloc() failed.

     XLATE_TB_STATUS_SECTION_TOO_BIG
	     The translation section is	so large ( > 31	bits in	the size) that
	     it	cannot be handled by the 32-bit	version	of the library.	 This
	     is	quite unlikely since translation sections should be much
	     smaller than the text they	refer to and text sections do not get
	     that big (as of this writing).  The application must be rebuilt
	     as	a 64bit	application and	linked against a 64-bit	version	of
	     this library.

     XLATE_TB_STATUS_EDHR_BAD
	     A call to elf32_getehd
 (whichever is
	     appropriate) failed.  The object file is damaged or the library
	     has a bug.

     XLATE_TB_STATUS_STRPTR_BAD
	     A call to elf_strptr(3) (whichever	is appropriate)	failed.	 No
	     section name strings could	be found.  The object file is
	     specially stripped	or damaged or the library has a	bug.

SEE ALSO    [Toc]    [Back]

      
      
     libelfutil(5), open(2), xlate(4), xlate_get_info(3e), xlate_address(3e),
     xlate_get_reg_rule(3e), xlate_get_all_reg_rules(3e),
     xlate_expand_reg_info(3e),	xlate_finish(3e), xlate_pro_init(3e),
     xlate_pro_finish(3e), xlate_address(3e)

NOTES    [Toc]    [Back]

     For any of	these calls to succeed the section contents must also be a
     valid translate section.






									Page 4






XLATE_INIT_FD(3E)					     XLATE_INIT_FD(3E)



     In	case there are multiple	sections of an Elf object file meeting the
     section name and section type criteria above then one of the sections is
     opened.


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
xlate_pro_init IRIX open translation section creator
xlate_finish IRIX close translation section
xlate IRIX the address translation object file section of an ELF object
elf_getdata IRIX get section data
elf_getscn IRIX get section information
DtMmdbSectionGetData HP-UX obtains the data for a section
DtMmdbLocatorGetSectionLoc HP-UX obtains the locator of a section
xlate_pro_add_range IRIX add a translation range
xlate_address IRIX do address translation
DtMmdbLocatorGetSectionObjectId HP-UX obtains the object identifier of a section
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service