[Bug ld/18718] -fno-plt doesn't work with symbol versioning

2015-07-25 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=18718

--- Comment #1 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by H.J. Lu :

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1659f720b0818d570f79bef53ac461b2b22f

commit 1659f720b0818d570f79bef53ac461b2b22f
Author: H.J. Lu 
Date:   Sat Jul 25 07:56:18 2015 -0700

Skip missing symbol version section check for executable

Missing symbol version section is a run-time problem only if it will
be referenced dynamically at run-time.  We should skip the check for
locally defined symbol, which isn't referenced by shared library, when
linking executable.

bfd/

PR ld/18718
* elflink.c (elf_link_output_extsym): Check symbol version
section check only if not linking executable, the symbol is
referenced by shared library or not locally defined.

ld/testsuite/

PR ld/18718
* ld-elf/pr18718.c: New file.
* ld-elf/shared.exp: Run tests for PR ld/18718.

-- 
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/18718] -fno-plt doesn't work with symbol versioning

2015-07-25 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=18718

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |2.26

--- Comment #2 from H.J. Lu  ---
Fixed.

-- 
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/18720] New: No symbol version section for versioned symbol `foo@FOO'

2015-07-25 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=18720

Bug ID: 18720
   Summary: No symbol version section for versioned symbol
`foo@FOO'
   Product: binutils
   Version: 2.26 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

[hjl@gnu-tools-1 plt-2]$ cat indirect3a.c
extern void bar (void);
extern void foo (void);

__attribute__ ((noinline, noclone))
int
foo_p (void)
{
  return (long) &foo == 0x12345678 ? 1 : 0;
}

int
main (void)
{
  foo ();
  foo_p ();
  bar ();
  return 0;
}
[hjl@gnu-tools-1 plt-2]$ cat indirect3b.c
#include 

void
foo (void)
{
  printf ("MAIN\n");
}

asm (".symver foo,foo@FOO");
[hjl@gnu-tools-1 plt-2]$ cat indirect3c.c
#include 

extern void foo (void);

void
foo (void)
{
  printf ("DSO\n");
}

void
bar (void)
{
  foo ();
}
[hjl@gnu-tools-1 plt-2]$ make
gcc -B./ -fPIC -O2 -c -o indirect3a.o indirect3a.c
gcc -B./ -fPIC -O2 -c -o indirect3b.o indirect3b.c
gcc -B./ -fPIC -O2 -fPIC  -c -o indirect3c.o indirect3c.c
gcc -B./ -shared -o libindirect3c.so indirect3c.o
gcc -B./ -o x indirect3a.o indirect3b.o libindirect3c.so -Wl,-R.
./ld: x: No symbol version section for versioned symbol `foo@FOO'
./ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:22: recipe for target 'x' failed
make: *** [x] Error 1
[hjl@gnu-tools-1 plt-2]$

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