1 .\" $NetBSD: gelf_getsymshndx.3,v 1.2 2014/03/09 16:58:04 christos Exp $
3 .\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" This software is provided by Joseph Koshy ``as is'' and
15 .\" any express or implied warranties, including, but not limited to, the
16 .\" implied warranties of merchantability and fitness for a particular purpose
17 .\" are disclaimed. in no event shall Joseph Koshy be liable
18 .\" for any direct, indirect, incidental, special, exemplary, or consequential
19 .\" damages (including, but not limited to, procurement of substitute goods
20 .\" or services; loss of use, data, or profits; or business interruption)
21 .\" however caused and on any theory of liability, whether in contract, strict
22 .\" liability, or tort (including negligence or otherwise) arising in any way
23 .\" out of the use of this software, even if advised of the possibility of
26 .\" Id: gelf_getsymshndx.3 189 2008-07-20 10:38:08Z jkoshy
30 .Dt GELF_GETSYMSHNDX 3
32 .Nm gelf_getsymshndx ,
33 .Nm gelf_update_symshndx
34 .Nd read and update symbol information using extended section indices
41 .Fa "Elf_Data *symdata"
42 .Fa "Elf_Data *xndxdata"
45 .Fa "Elf32_Word *xndxptr"
48 .Fo gelf_update_symshndx
49 .Fa "Elf_Data *symdata"
50 .Fa "Elf_Data *xndxdata"
56 These functions are analogous to
60 respectively, but are capable of handling symbol tables using extended
67 descriptor associated with a section of type
73 descriptor associated with a section of type
74 .Dv SHT_SYMTAB_SHNDX .
77 is the index of the symbol table entry being retrieved or updated.
80 is a pointer to a class-independent
84 structures are described in detail in
89 retrieves symbol information at index
91 from the data descriptor specified by argument
93 and stores in class-independent form in argument
95 In addition it retrieves the extended section index for the
96 symbol from data buffer
98 and stores it into the location pointed to by argument
102 .Fn gelf_update_symshndx
103 updates the underlying symbol table entry in data
106 with the information in argument
108 In addition it sets the extended section index in
111 to the value of argument
116 returns the value of argument
118 if successful, or NULL in case of an error.
121 .Fn gelf_update_symshndx
122 returns a non-zero value if successful, or zero in case of an error.
124 These functions may fail with the following errors:
125 .Bl -tag -width "[ELF_E_RESOURCE]"
126 .It Bq Er ELF_E_ARGUMENT
134 .It Bq Er ELF_E_ARGUMENT
137 was less than zero, or too large for either of descriptors
141 .It Bq Er ELF_E_ARGUMENT
144 was not associated with a section of type
146 .It Bq Er ELF_E_ARGUMENT
149 was not associated with a section of type
150 .Dv SHT_SYMTAB_SHNDX .
151 .It Bq Er ELF_E_ARGUMENT
156 were associated with different ELF objects.
164 .Xr gelf_update_sym 3