[Bug ld/14956] New: Unnecessary R_X86_64_NONE

2012-12-13 Thread hjl.tools at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=14956

 Bug #: 14956
   Summary: Unnecessary R_X86_64_NONE
   Product: binutils
   Version: 2.24 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
AssignedTo: unassig...@sourceware.org
ReportedBy: hjl.to...@gmail.com
Classification: Unclassified


[hjl@gnu-hsw-1 ifunc-none]$ cat bar.c
extern int foo (void) __attribute__ ((weak, visibility ("hidden")));

int
bar (void)
{
  return foo ();
}
[hjl@gnu-hsw-1 ifunc-none]$ cat foo.c
static int
one (void)
{
  return -30;
}

void * foo_ifunc (void) __asm__ ("foo") __attribute__ ((visibility
("hidden")));
__asm__(".type foo, %gnu_indirect_function");

void * 
foo_ifunc (void)
{
  return one;
}
[hjl@gnu-hsw-1 ifunc-none]$ make
gcc -fPIC   -c -o bar.o bar.c
gcc -fPIC   -c -o foo.o foo.c
./ld --shared -o libfoo.so -z nocombreloc bar.o foo.o
readelf -r --wide libfoo.so

Relocation section '.rela.ifunc' at offset 0x200 contains 1 entries:
Offset Info Type   Symbol's Value 
Symbol's Name + Addend
   R_X86_64_NONE 0

Relocation section '.rela.plt' at offset 0x218 contains 1 entries:
Offset Info Type   Symbol's Value 
Symbol's Name + Addend
00200450  0025 R_X86_64_IRELATIVE   
267
[hjl@gnu-hsw-1 ifunc-none]$

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/14956] Unnecessary R_X86_64_NONE

2012-12-13 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=14956

--- Comment #1 from cvs-commit at gcc dot gnu.org  2012-12-13 21:07:20 UTC ---
CVSROOT:/cvs/src
Module name:src
Changes by:h...@sourceware.org2012-12-13 21:07:16

Modified files:
bfd: ChangeLog elf32-i386.c elf64-x86-64.c 
ld/testsuite   : ChangeLog 
Added files:
ld/testsuite/ld-ifunc: ifunc-14a-i386.d ifunc-14a-x86-64.d 
   ifunc-14b-i386.d ifunc-14b-x86-64.d 
   ifunc-14c-i386.d ifunc-14c-x86-64.d 
   ifunc-14d-i386.d ifunc-14d-x86-64.d 
Removed files:
ld/testsuite/ld-ifunc: ifunc-14-i386.d ifunc-14-x86-64.d 

Log message:
Check local IFUNC calls

bfd/

2012-12-13  H.J. Lu  

PR ld/14956
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Check local
IFUNC calls.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.

ld/testsuite/

2012-12-13  H.J. Lu  

PR ld/14956
* ld-ifunc/ifunc-14-i386.d: Renamed to ...
* ld-ifunc/ifunc-14a-i386.d: This.

* ld-ifunc/ifunc-14-x86-64.d: Renamed to ...
* ld-ifunc/ifunc-14a-x86-64.d: This.

* ld-ifunc/ifunc-14b-i386.d: New file.
* ld-ifunc/ifunc-14b-x86-64.d: Likewise.
* ld-ifunc/ifunc-14c-i386.d: Likewise.
* ld-ifunc/ifunc-14c-x86-64.d: Likewise.
* ld-ifunc/ifunc-14d-i386.d: Likewise.
* ld-ifunc/ifunc-14d-x86-64.d: Likewise.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.5880&r2=1.5881
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf32-i386.c.diff?cvsroot=src&r1=1.286&r2=1.287
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elf64-x86-64.c.diff?cvsroot=src&r1=1.278&r2=1.279
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1643&r2=1.1644
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14a-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14a-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14b-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14b-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14c-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14c-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14d-i386.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14d-x86-64.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14-i386.d.diff?cvsroot=src&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-ifunc/ifunc-14-x86-64.d.diff?cvsroot=src&r1=1.1&r2=NONE

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/14956] Unnecessary R_X86_64_NONE

2012-12-13 Thread hjl.tools at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=14956

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #2 from H.J. Lu  2012-12-13 21:09:17 
UTC ---
Fixed for 2.24.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils