bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/11812] New: Unused .got.plt section generated by linker


From: hjl dot tools at gmail dot com
Subject: [Bug ld/11812] New: Unused .got.plt section generated by linker
Date: 13 Jul 2010 17:35:47 -0000

In this testcase, .got.plt section isn't needed:

address@hidden gotplt-1]$ cat foo.c
static int bar ()
{
  return 0x1234;
}

void *
foo ()
{
  return &bar;
}
address@hidden gotplt-1]$ cat main.c 
extern void * foo ();
extern void abort ();

int
main ()
{
  int (*bar) () = foo ();
  if (bar () != 0x1234)
    abort ();
  return 0;
}
address@hidden gotplt-1]$ make LD=ld
gcc -m32 -O2 -fPIC   -c -o foo.o foo.c
ld -shared -m elf_i386 -o foo.so  foo.o
gcc -m32 -O2   -c -o main.o main.c
gcc -m32 -o foo  foo.so main.o -Wl,-rpath,.
./foo
address@hidden gotplt-1]$ readelf -r foo.o

Relocation section '.rel.text' at offset 0x3f4 contains 3 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
00000011  00000b02 R_386_PC32        00000000   __i686.get_pc_thunk.cx
00000017  00000c0a R_386_GOTPC       00000000   _GLOBAL_OFFSET_TABLE_
00000021  00000209 R_386_GOTOFF      00000000   .text
address@hidden gotplt-1]$ readelf -S foo.so 
There are 11 section headers, starting at offset 0x260:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .hash             HASH            000000b4 0000b4 000028 04   A  2   0  4
  [ 2] .dynsym           DYNSYM          000000dc 0000dc 000050 10   A  3   1  4
  [ 3] .dynstr           STRTAB          0000012c 00012c 00001d 00   A  0   0  1
  [ 4] .text             PROGBITS        00000150 000150 00002a 00  AX  0   0 16
  [ 5] .dynamic          DYNAMIC         0000117c 00017c 000058 08  WA  3   0  4
  [ 6] .got.plt          PROGBITS        000011d4 0001d4 00000c 04  WA  0   0  4
  [ 7] .comment          PROGBITS        00000000 0001e0 00002d 01  MS  0   0  1
  [ 8] .shstrtab         STRTAB          00000000 00020d 000052 00      0   0  1
  [ 9] .symtab           SYMTAB          00000000 000418 000110 10     10  13  4
  [10] .strtab           STRTAB          00000000 000528 00005d 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
address@hidden gotplt-1]$

-- 
           Summary: Unused .got.plt section generated by linker
           Product: binutils
           Version: 2.21 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: hjl dot tools at gmail dot com
                CC: bug-binutils at gnu dot org


http://sourceware.org/bugzilla/show_bug.cgi?id=11812

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]