diff options
author | Nick Clifton <nickc@redhat.com> | 2008-12-23 09:01:51 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-12-23 09:01:51 +0000 |
commit | 0f88be7a13937526f4789565a7dee988bf1369d5 (patch) | |
tree | dec9b5642bf6f5910809de144c2a28886f63dcf5 /binutils | |
parent | 5995b57073ad5990e2f63c7f65c0a6c27cad55a9 (diff) | |
download | gdb-0f88be7a13937526f4789565a7dee988bf1369d5.zip gdb-0f88be7a13937526f4789565a7dee988bf1369d5.tar.gz gdb-0f88be7a13937526f4789565a7dee988bf1369d5.tar.bz2 |
Remove STT_IFUNC support.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 7 | ||||
-rw-r--r-- | binutils/doc/binutils.texi | 4 | ||||
-rw-r--r-- | binutils/objdump.c | 2 | ||||
-rw-r--r-- | binutils/readelf.c | 41 |
4 files changed, 9 insertions, 45 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 87f139c..241e6b0 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,10 @@ +2008-12-23 Nick Clifton <nickc@redhat.com> + + * objdump.c (dump_reloc_set): Remove STT_IFUNC support. + * readelf.c (dump_relocations): Likewise. + (get_symbol_type): Likewise. + * doc/binutils.texi: Likewise. + 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 4c1f024..d816e7a 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -729,10 +729,6 @@ The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array. -@item I -The symbol is an indirect reference to another symbol. This is a @sc{gnu} -extension to the a.out object file format which is rarely used. - @item i The symbol is in a section specific to the implementation of DLLs. diff --git a/binutils/objdump.c b/binutils/objdump.c index ac5fa0d..8bfb2a5 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -2722,8 +2722,6 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount) if (sym_name) { objdump_print_symname (abfd, NULL, *q->sym_ptr_ptr); - if ((*q->sym_ptr_ptr)->flags & BSF_INDIRECT_FUNCTION) - printf ("() "); } else { diff --git a/binutils/readelf.c b/binutils/readelf.c index 81cde34..21af7b3 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -1251,38 +1251,9 @@ dump_relocations (FILE *file, printf (" "); - if (ELF_ST_TYPE (psym->st_info) == STT_IFUNC) - { - const char * name; - unsigned int len; - unsigned int width = is_32bit_elf ? 8 : 14; - - /* Relocations against IFUNC symbols do not use the value of - the symbol as the address to relocate against. Instead - they invoke the function named by the symbol and use its - result as the address for relocation. - - To indicate this to the user, do not display the value of - the symbol in the "Symbols's Value" field. Instead show - its name followed by () as a hint that the symbol is - invoked. */ - - if (strtab == NULL - || psym->st_name == 0 - || psym->st_name >= strtablen) - name = "??"; - else - name = strtab + psym->st_name; - - len = print_symbol (width, name); - printf ("()%-*s", len <= width ? (width + 1) - len : 1, " "); - } - else - { - print_vma (psym->st_value, LONG_HEX); + print_vma (psym->st_value, LONG_HEX); - printf (is_32bit_elf ? " " : " "); - } + printf (is_32bit_elf ? " " : " "); if (psym->st_name == 0) { @@ -7065,14 +7036,6 @@ get_symbol_type (unsigned int type) if (type == STT_HP_STUB) return "HP_STUB"; } - else if (elf_header.e_ident[EI_OSABI] == ELFOSABI_LINUX - || elf_header.e_ident[EI_OSABI] == ELFOSABI_HURD - /* GNU/Linux is still using the default value 0. */ - || elf_header.e_ident[EI_OSABI] == ELFOSABI_NONE) - { - if (type == STT_IFUNC) - return "IFUNC"; - } snprintf (buff, sizeof (buff), _("<OS specific>: %d"), type); } |