intl I don't know what to do

2016-12-29 Thread BJ Raz
I'm stuck. I'm trying to build binutils with mingw64. This error is
confounding me!

The first part if fixable when binutils generates Intl\Makefile the
following lines do not have tabs:
line 309, 310, 312, 313, 316, 318, 339, 341, 342, 344, 346, 348, 350, 352,
354, 356 and 397.


There may be others I do not know about.  adding tabs fixes the problem
with the
missing separator error, then I get a



Makefile:323: ../Rules: No such file or directory
/d/Users/brazg/Documents/GitHub/binutils-gdb/configure 
--prefix=/home/brazg/mingw --includedir=/home/brazg/mingw/include/ 
--libexecdir=/home/brazg/mingw/libexec --enable-install-libiberty


D:/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/waitpid.c:31:7: warning: 
implicit declaration of function 'wait' [-Wimplicit-function-declaration]
   int wpid = wait(stat_loc);
   ^
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE  
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
pic/setproctitle.o; \
else true; fi
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE   
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
noasan/setproctitle.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE 
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
setproctitle.o
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE  
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o pic/vfork.o; \
else true; fi
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE   
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o 
noasan/vfork.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE 
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o vfork.o
rm -f ./libiberty.a pic/./libiberty.a noasan/./libiberty.a
ar rc ./libiberty.a \
  ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o ./argv.o 
./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./d-demangle.o 
./dwarfnames.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o 
./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o 
./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o 
./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o 
./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-win32.o 
./vprintf-support.o ./rust-demangle.o ./safe-ctype.o ./simple-object.o 
./simple-object-coff.o ./simple-object-elf.o ./simple-object-mach-o.o 
./simple-object-xcoff.o ./sort.o ./spaces.o ./splay-tree.o ./stack-limit.o 
./strerror.o ./strsignal.o ./timeval-utils.o ./unlink-if-ordinary.o 
./xasprintf.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o 
./xstrerror.o ./xstrndup.o ./xvasprintf.o  ./bcmp.o ./bcopy.o ./bzero.o ./ffs.o 
./index.o ./insque.o ./memmem.o ./mkstemps.o ./random.o ./rindex.o ./setenv.o 
./sigsetmask.o ./stpcpy.o ./stpncpy.o ./strndup.o ./strverscmp.o ./waitpid.o 
./setproctitle.o ./vfork.o
ranlib ./libiberty.a
if [ x"" != x ]; then \
  cd pic; \
  ar rc ./libiberty.a \
./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o 
./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./d-demangle.o 
./dwarfnames.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o 
./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o 
./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o 
./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o 
./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-win32.o 
./vprintf-support.o ./rust-demangle.o ./safe-ctype.o ./simple-object.o 
./simple-object-coff.o ./simple-object-elf.o ./simple-object-mach-o.o 
./simple-object-xcoff.o ./sort.o ./spaces.o ./splay-tree.o ./stack-limit.o 
./strerror.o ./strsignal.o ./timeval-utils.o ./unlink-if-ordinary.o 
./xasprintf.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o 
./xstrerror.o 

Re: intl I don't know what to do

2016-12-29 Thread BJ Raz
please close this pressed send before I was done typing it.

On Thu, Dec 29, 2016 at 3:49 PM, BJ Raz  wrote:

> I'm stuck. I'm trying to build binutils with mingw64. This error is
> confounding me!
>
> The first part if fixable when binutils generates Intl\Makefile the
> following lines do not have tabs:
> line 309, 310, 312, 313, 316, 318, 339, 341, 342, 344, 346, 348, 350, 352,
> 354, 356 and 397.
>
>
> There may be others I do not know about.  adding tabs fixes the problem
> with the
> missing separator error, then I get a
>
>
>
> Makefile:323: ../Rules: No such file or directory
>
>
>
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


intl I don't know what to do (corrected)

2016-12-29 Thread BJ Raz
I'm stuck. I'm trying to build Binutils with mingw64. This error is
confounding me!

The first part if fixable when Binutils generates Intl\Makefile the
following lines do not have tabs:
line 309, 310, 312, 313, 316, 318, 339, 341, 342, 344, 346, 348, 350, 352,
354, 356 and 397.

Makefile:312: *** missing separator.  Stop.

There may be others I do not know about.  adding tabs fixes the problem
with the
missing separator error, then I get a

Makefile:323: ../Rules: No such file or directory

which can be made manually? then I have the last error

make[1]: *** [Makefile:6609: all-intl] Error 2
make[1]: Leaving directory '/home/brazg/build.binutils'
make: *** [Makefile:858: all] Error 2

which I cannot for the life of me figure out.

I hope someone knows what is going on.

--BjRaz
/d/Users/brazg/Documents/GitHub/binutils-gdb/configure 
--prefix=/home/brazg/mingw --includedir=/home/brazg/mingw/include/ 
--libexecdir=/home/brazg/mingw/libexec --enable-install-libiberty


D:/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/waitpid.c:31:7: warning: 
implicit declaration of function 'wait' [-Wimplicit-function-declaration]
   int wpid = wait(stat_loc);
   ^
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE  
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
pic/setproctitle.o; \
else true; fi
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE   
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
noasan/setproctitle.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE 
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/setproctitle.c -o 
setproctitle.o
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE  
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o pic/vfork.o; \
else true; fi
if [ x"" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE   
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o 
noasan/vfork.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS  -I. 
-I/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE 
/d/Users/brazg/Documents/GitHub/binutils-gdb/libiberty/vfork.c -o vfork.o
rm -f ./libiberty.a pic/./libiberty.a noasan/./libiberty.a
ar rc ./libiberty.a \
  ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o ./argv.o 
./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./d-demangle.o 
./dwarfnames.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o 
./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o 
./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o 
./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o 
./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-win32.o 
./vprintf-support.o ./rust-demangle.o ./safe-ctype.o ./simple-object.o 
./simple-object-coff.o ./simple-object-elf.o ./simple-object-mach-o.o 
./simple-object-xcoff.o ./sort.o ./spaces.o ./splay-tree.o ./stack-limit.o 
./strerror.o ./strsignal.o ./timeval-utils.o ./unlink-if-ordinary.o 
./xasprintf.o ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o 
./xstrerror.o ./xstrndup.o ./xvasprintf.o  ./bcmp.o ./bcopy.o ./bzero.o ./ffs.o 
./index.o ./insque.o ./memmem.o ./mkstemps.o ./random.o ./rindex.o ./setenv.o 
./sigsetmask.o ./stpcpy.o ./stpncpy.o ./strndup.o ./strverscmp.o ./waitpid.o 
./setproctitle.o ./vfork.o
ranlib ./libiberty.a
if [ x"" != x ]; then \
  cd pic; \
  ar rc ./libiberty.a \
./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o ./alloca.o 
./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o ./d-demangle.o 
./dwarfnames.o ./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o 
./floatformat.o ./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o 
./getpwd.o ./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o 
./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o 
./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o ./pex-win32.o 
./vprintf-support.o ./rust-demangle.o 

[Bug ld/21000] hppa-linux does not support -z relro

2016-12-29 Thread dave.anglin at bell dot net
https://sourceware.org/bugzilla/show_bug.cgi?id=21000

--- Comment #5 from dave.anglin at bell dot net ---
On 2016-12-29, at 7:03 PM, amodra at gmail dot com wrote:

> I
> gave away my hppa hardware a long time ago.

Helge has been testing a user-only target of hppa to qemu being developed by
Richard Henderson.  It's here:
 git://github.com/rth7680/qemu.git tgt-hppa

Dave
--
John David Anglin   dave.ang...@bell.net

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

2016-12-29 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=18720

--- Comment #7 from cvs-commit at gcc dot gnu.org  ---
The binutils-2_28-branch branch has been updated by Alan Modra
:

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

commit de1f27ad53e4bcc3aa47209cdb5f32eb1fc41a76
Author: Alan Modra 
Date:   Thu Dec 29 22:49:41 2016 +1030

link_hash_copy_indirect and symbol flags

A while ago HJ fixed PR ld/18720 with commit 6e33951ed, which, among
other things, modified _bfd_elf_link_hash_copy_indirect to not copy
ref_dynamic, ref_regular, ref_regular_nonweak, non_got_ref, needs_plt
and pointer_equality_needed when setting up an indirect non-versioned
symbol pointing to a non-default versioned symbol.  I didn't notice at
the time, but the pr18720 testcase fails on hppa-linux with
"internal error, aborting at binutils-gdb-2.28/bfd/elf32-hppa.c:3933
in elf32_hppa_relocate_section".

Now hppa-linux creates entries in the plt even for local functions, if
they are referenced using plabel (function pointer) relocations.   So
needs_plt is set for foo when processing pr18720a.o.  When the aliases
in pr28720b.o are processed, we get an indirection from foo to
foo@FOO, but don't copy needs_plt.  Since foo@FOO is the "real" symbol
that is used after that point, no plt entry is made for foo and we
bomb when relocating the plabel.

As shown by the hppa-linux scenario, needs_plt should be copied even
for non-default versioned symbols.  I believe all of the others ought
to be copied too, with the exception of ref_dynamic.  Not copying
ref_dynamic is right because if a shared lib references "foo" it
should not be satisfied by any non-default version "foo@FOO".

* elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
copying one flag, ref_dynamic, when versioned_hidden.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
logic for copying weakdef flags.  Copy plabel flag and merge
tls_type.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
for copying weakdef flags.
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
Simplify.

-- 
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/21000] hppa-linux does not support -z relro

2016-12-29 Thread dave.anglin at bell dot net
https://sourceware.org/bugzilla/show_bug.cgi?id=21000

--- Comment #4 from dave.anglin at bell dot net ---
On 2016-12-29, at 6:00 PM, amodra at gmail dot com wrote:

> As far as a fix for this goes, if you're sure that pr12376 isn't really just a
> kernel issue (see https://sourceware.org/bugzilla/show_bug.cgi?id=12376#c8)
> then hppa can still support relro by page aligning data then following that
> with DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE}).  This will waste
> up to 2*MAXPAGESIZE-2 bytes of memory before the start of the relro area, the
> first page for the hardware/kernel issue, the second to align the end of the
> relro area to a page.

The fine print on the aliasing restrictions is described in the PA-RISC 2.0
Architecture manual
starting on page F-5.  In practice, this is only a limitation on machines with
PA8800 and PA8900
processors.  There is code in pacache.S where we use equivalently mapped pages
in the kernel
for certain operations.

I'll give your fix a whirl.

Dave
--
John David Anglin   dave.ang...@bell.net

-- 
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/21000] hppa-linux does not support -z relro

2016-12-29 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=21000

--- Comment #3 from Alan Modra  ---
Created attachment 9734
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9734=edit
fix

This seems to do the trick, but I haven't tested native hppa-linux builds.  I
gave away my hppa hardware a long time ago.  Dave, could you do some checking
for me please?  It would be nice to have this fix in the 2.28 release.

-- 
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/21000] hppa-linux does not support -z relro

2016-12-29 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=21000

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com

--- Comment #2 from Alan Modra  ---
Hi Dave, ld-elf/pr20995-2 is what brought this to my attention.  Also, any of
the following.

Running /home/alan/src/binutils-gdb-2.28/ld/testsuite/ld-elf/binutils.exp ...
FAIL: strip -z relro (relro1)
FAIL: strip -z relro -shared (relro1)
FAIL: objcopy -z relro (relro1)
FAIL: objcopy -z relro -shared (relro1)
FAIL: objcopy -z relro (tdata1)
FAIL: objcopy -shared -z relro (tdata1)
FAIL: objcopy -z relro (tdata2)
FAIL: objcopy -shared -z relro (tdata2)
FAIL: objcopy -z relro (tdata3)
FAIL: objcopy -shared -z relro (tdata3)
FAIL: objcopy -shared -z relro (tbss1)
FAIL: objcopy -shared -z relro (tbss2)
FAIL: objcopy -shared -z relro (tbss3)

As far as a fix for this goes, if you're sure that pr12376 isn't really just a
kernel issue (see https://sourceware.org/bugzilla/show_bug.cgi?id=12376#c8)
then hppa can still support relro by page aligning data then following that
with DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE}).  This will waste
up to 2*MAXPAGESIZE-2 bytes of memory before the start of the relro area, the
first page for the hardware/kernel issue, the second to align the end of the
relro area to a page.

-- 
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/21000] hppa-linux does not support -z relro

2016-12-29 Thread dave.anglin at bell dot net
https://sourceware.org/bugzilla/show_bug.cgi?id=21000

--- Comment #1 from dave.anglin at bell dot net ---
Is there a testcase?

It seems to me we need to either pad the text or align data to a page boundary
to avoid
non equivalent aliases.  We continue to struggle with this issue on SMP
machines in the
Linux kernel, so I would be very hesitant to not align data to a page boundary.

Happy Holidays,
Dave
--
John David Anglin   dave.ang...@bell.net

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

2016-12-29 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=18720

--- Comment #6 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Alan Modra :

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

commit e81830c5c61a8665c098189d069cc68b0df113d3
Author: Alan Modra 
Date:   Thu Dec 29 22:49:41 2016 +1030

link_hash_copy_indirect and symbol flags

A while ago HJ fixed PR ld/18720 with commit 6e33951ed, which, among
other things, modified _bfd_elf_link_hash_copy_indirect to not copy
ref_dynamic, ref_regular, ref_regular_nonweak, non_got_ref, needs_plt
and pointer_equality_needed when setting up an indirect non-versioned
symbol pointing to a non-default versioned symbol.  I didn't notice at
the time, but the pr18720 testcase fails on hppa-linux with
"internal error, aborting at binutils-gdb-2.28/bfd/elf32-hppa.c:3933
in elf32_hppa_relocate_section".

Now hppa-linux creates entries in the plt even for local functions, if
they are referenced using plabel (function pointer) relocations.   So
needs_plt is set for foo when processing pr18720a.o.  When the aliases
in pr28720b.o are processed, we get an indirection from foo to
foo@FOO, but don't copy needs_plt.  Since foo@FOO is the "real" symbol
that is used after that point, no plt entry is made for foo and we
bomb when relocating the plabel.

As shown by the hppa-linux scenario, needs_plt should be copied even
for non-default versioned symbols.  I believe all of the others ought
to be copied too, with the exception of ref_dynamic.  Not copying
ref_dynamic is right because if a shared lib references "foo" it
should not be satisfied by any non-default version "foo@FOO".

* elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
copying one flag, ref_dynamic, when versioned_hidden.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
logic for copying weakdef flags.  Copy plabel flag and merge
tls_type.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
for copying weakdef flags.
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
Simplify.

-- 
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/18992] Linking a library implicitly using relative DT_RPATH does not work

2016-12-29 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=18992

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Alan Modra  ---
Fixed a while ago.

-- 
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 gold/6767] program linked with gold seg faults

2016-12-29 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=6767

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Alan Modra  ---
Should have been closed a while time ago.

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