[Bug ld/12772] linker failed to remove all dead code dependency properly

2011-12-07 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=12772

--- Comment #8 from cvs-commit at gcc dot gnu.org  2011-12-07 12:16:03 UTC ---
CVSROOT:/cvs/src
Module name:src
Changes by:amo...@sourceware.org2011-12-07 12:15:54

Modified files:
bfd: ChangeLog elflink.c 

Log message:
PR ld/12772
* elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols
defined in shared libraries.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.5533&r2=1.5534
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elflink.c.diff?cvsroot=src&r1=1.431&r2=1.432

-- 
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/12772] linker failed to remove all dead code dependency properly

2011-12-07 Thread amodra at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=12772

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from Alan Modra  2011-12-07 12:17:21 
UTC ---
Fixed mainline

-- 
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 binutils/13476] New: Incorrect TLS relocations created in DSOs on hppa

2011-12-07 Thread skrll at netbsd dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=13476

 Bug #: 13476
   Summary: Incorrect TLS relocations created in DSOs on hppa
   Product: binutils
   Version: 2.23 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
AssignedTo: unassig...@sourceware.org
ReportedBy: sk...@netbsd.org
Classification: Unclassified


Created attachment 6092
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6092
Example code for DSO

This commit

http://sourceware.org/ml/binutils/2010-01/msg00594.html

now means that calls to __tls_get_addr are incorrect as the relocation is no
longer adjusted to be relative to the GOT.

Looking at the final link object from, e.g.

cc -c -O2 -fPIC -o h_tls.o h_tls.c
cc -shared -o dso.so h_tls.o

note the addil/ldo sequence is beyond the GOT.

04f4 :
 4f4:   6b c2 3f d9 stw rp,-14(sp)
 4f8:   6f c4 01 00 stw,ma r4,80(sp)
 4fc:   6b c3 3f 09 stw r3,-7c(sp)
 500:   08 1a 02 43 copy r26,r3
 504:   2a 60 20 00 addil L%1000,r19,r1
 508:   34 3a 00 70 ldo 38(r1),r26

-- 
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 binutils/13477] New: incorrect decoding by objdump for fsubrp on i386

2011-12-07 Thread drspamless at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13477

 Bug #: 13477
   Summary: incorrect decoding by objdump for fsubrp on i386
   Product: binutils
   Version: 2.22
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
AssignedTo: unassig...@sourceware.org
ReportedBy: drspaml...@gmail.com
Classification: Unclassified


Created attachment 6093
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6093
executable demonstrating decode fail

objdump on i386 decodes DE E1 to fsubp  st(1),st
when it should be fsubrp  st(1),st
probably true also for DE E2  to DE E7
An example is in the file attached. The command run was:
objdump -w -d -M intel,addr32,data32 test-i386 > test-i386.disam

-- 
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


Linux Linker / PIC and --defsym

2011-12-07 Thread pie...@trustleap.com
Hello,

Here is a suggestion to make --defsym / linker script
defined symbols relevant in PIC binaries:

Having --defsym to define a relocated symbol in a PIC 
library/executable is pointless (it does not serve ANY
purpose other than polluting the binary).

Therefore, the only relevant use of --defsym in a PIC 
shared library or PIC executable should be to have a 
*non-relocated* "absolute address".

Incidentally, that's the official purpose of --defsym:

"Create a global symbol in the output file, containing 
the absolute address given by expression."

Today's solution is to patch the relocation table after
the binary image has been loaded by the Linux linker.

Then, --defsym becomes useful in PIC libraries/executables
(with this feature, a shared library can call a function
located in a stripped executable).

-- 
Pierre Gauthier  | "Either find a way, or make one."
pie...@trustleap.com | (Hannibal, 247-183 BC)

--- http://trustleap.ch/ ---

Paradiesli 17 - CH-8842 Unteriberg, SZ - Switzerland
Tel +41 (0)55 414 20 93 - Fax +41 (0)55 414 20 67


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


[Bug binutils/13476] Incorrect TLS relocations created in DSOs on hppa

2011-12-07 Thread vapier at gentoo dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=13476

Mike Frysinger  changed:

   What|Removed |Added

 CC||toolchain at gentoo dot org

-- 
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 binutils/13482] New: inaccurate documentation

2011-12-07 Thread dave.pawson at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13482

 Bug #: 13482
   Summary: inaccurate documentation
   Product: binutils
   Version: 2.22
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
AssignedTo: unassig...@sourceware.org
ReportedBy: dave.paw...@gmail.com
Classification: Unclassified


http://sources.redhat.com/binutils/docs-2.22/as/Version.html#Version
"This directive creates a .note section and places into it an ELF formatted
note of type NT_VERSION. The note's name is set to string."

Inaccurate.

.version "Version 1.0"
in arm sourcecode
running arm-linux-elf-as
GNU assembler (GNU Binutils) 2.22.51.2022
Copyright 2011 Free Software Foundation, Inc.





Causes 


readelf: Warning: corrupt note found at offset 18 into core notes
readelf: Warning:  type: 1, namesize: 000c, descsize: 


It would appear that the string must not contain White space.
Change to Version1.0 and the error goes

DaveP

-- 
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 binutils/13476] Incorrect TLS relocations created in DSOs on hppa

2011-12-07 Thread danglin at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13476

John David Anglin  changed:

   What|Removed |Added

 CC||danglin at gcc dot gnu.org

--- Comment #1 from John David Anglin  2011-12-08 
01:43:58 UTC ---
1) The testcase doesn't show the bug.

2) The register is still r19 (PIC register).  The addil hasn't been changed
   to dp or r0, so the I fail to see how the commit referenced changed
   the situation.

The first hunk doesn't apply because this is a shared link.  The second
hunk doesn't apply because the register isn't dp.  So, we should fallthru
to the original code.

-- 
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 binutils/13476] Incorrect TLS relocations created in DSOs on hppa

2011-12-07 Thread danglin at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13476

--- Comment #2 from John David Anglin  2011-12-08 
02:08:56 UTC ---
Looking a bit more, I think this break is questionable:

  /* Now try to make things easy for the dynamic linker.  */

  break;

-- 
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 binutils/13476] Incorrect TLS relocations created in DSOs on hppa

2011-12-07 Thread skrll at netbsd dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=13476

--- Comment #3 from Nick Hudson  2011-12-08 07:43:50 
UTC ---
To hopefully show the bug clearer here's some more output.

$ cc -c -O2 -fPIC -o h_tls.o h_tls.c
$
$ ../prefix/bin/hppa--netbsd-ld -v
GNU ld (GNU Binutils) 2.22.51.20111207
$
$ ../prefix/bin/hppa--netbsd-ld --eh-frame-hdr -shared -o dso.so -L /usr/lib
/usr/lib/crti.o /usr/lib/crtbeginS.o h_tls.o -lgcc -lc -lgcc /usr/lib/crtendS.o
/usr/lib/crtn.o
$
$ nm dso.so | grep test 
04e8 T testf
$   
$ objdump -D dso.so --start-address=0x4e8 --stop-address=0x504  

dso.so: file format elf32-hppa-netbsd


Disassembly of section .text:

04e8 :
 4e8:   6b c2 3f d9 stw rp,-14(sp)
 4ec:   6f c4 01 00 stw,ma r4,80(sp)
 4f0:   6b c3 3f 09 stw r3,-7c(sp)  
 4f4:   08 1a 02 43 copy r26,r3 
 4f8:   2a 60 20 00 addil L%1000,r19,r1 ! r1  = gp + 0x1000
 4fc:   34 3a 00 70 ldo 38(r1),r26  ! r26 = gp + 0x1038
 500:   e8 5f 1d 1d b,l 394 <_init+0x40>,rp
$ 
$ # On elf32-hppa-netbsd gp is always set to point to the GOT. GOT + 0x1038 is
$ # well outside the got
$ # 
$ objdump -h dso.so


dso.so: file format elf32-hppa-netbsd

Sections:
Idx Name  Size  VMA   LMA   File off  Algn
  0 .hash 004c  00b4  00b4  00b4  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA   
  1 .dynsym   00e0  0100  0100  0100  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA   
  2 .dynstr   0083  01e0  01e0  01e0  2**0
  CONTENTS, ALLOC, LOAD, READONLY, DATA   
  3 .rela.dyn 00cc  0264  0264  0264  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA   
  4 .rela.plt 0024  0330  0330  0330  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA   
  5 .init 0030  0354  0354  0354  2**0
  CONTENTS, ALLOC, LOAD, READONLY, CODE   
  6 .text 0384  0384  0384  0384  2**2
  CONTENTS, ALLOC, LOAD, READONLY, CODE   
  7 .fini 0028  0708  0708  0708  2**0
  CONTENTS, ALLOC, LOAD, READONLY, CODE   
  8 .note.netbsd.ident 0018  0730  0730  0730  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA
  9 .note.netbsd.pax 0014  0748  0748  0748  2**2  
  CONTENTS, ALLOC, LOAD, READONLY, DATA
 10 .PARISC.unwind 00b0  075c  075c  075c  2**2
  CONTENTS, ALLOC, LOAD, READONLY, DATA
 11 .eh_frame 0004  080c  080c  080c  2**2 
  CONTENTS, ALLOC, LOAD, READONLY, DATA
 12 .ctors0008  1000  1000  1000  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 13 .dtors0008  1008  1008  1008  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 14 .jcr  0004  1010  1010  1010  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 15 .data.rel.ro  0008  1014  1014  1014  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 16 .dynamic  00a8  101c  101c  101c  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 17 .data 0004  10c4  10c4  10c4  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 18 .plt  0034  10c8  10c8  10c8  2**2 
  CONTENTS, ALLOC, LOAD, CODE  
 19 .got  0040  10fc  10fc  10fc  2**2 
  CONTENTS, ALLOC, LOAD, DATA  
 20 .bss  0014  113c  113c  113c  2**2 
  ALLOC
 21 .comment  0042      113c  2**0 
  CONTENTS, READONLY   
 22 .debug_aranges 0020      117e  2**0
  CONTENTS, READONLY, DEBUGGING
 23 .debug_pubnames 0039      119e  2**0   
  CONTENTS, READONLY, DEBUGGING
 24 .debug_info   01d9      11d7  2**0 
  CONTENTS, READONLY, DEBUGGING
 25 .debug_abbrev 0120      13b0  2**0 
  CONTENTS, RE