[Bug gold/17670] internal error in symval_for_branch, at powerpc.cc:6755 during qt5 build

2014-12-03 Thread pinskia at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17670

Andrew Pinski  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 CC||pinskia at gcc dot gnu.org
 Resolution|MOVED   |---

--- Comment #5 from Andrew Pinski  ---
Reopening since the linker should not crash on code which violates C++ ODR.

-- 
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/17566] ld: internal error in set_is_section_symbol, at object.h:1771 building Linux kernel on ppc64

2014-12-03 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=17566

--- Comment #2 from Markus Trippelsdorf  ---
To reproduce:

trippels@gcc2-power8 linux-3.17.2 % make defconfig
trippels@gcc2-power8 linux-3.17.2 % make -j160 
...
ld: internal error in set_is_section_symbol, at object.h:1771

-- 
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/17566] ld: internal error in set_is_section_symbol, at object.h:1771 building Linux kernel on ppc64

2014-12-03 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=17566

--- Comment #3 from Markus Trippelsdorf  ---
Possible fix as suggested in comment 1:

diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index 554bf38..97b6e39 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -5581,7 +5581,7 @@ Target_powerpc::Scan::local(
{ 
  check_non_pic(object, r_type);
  unsigned int r_sym = elfcpp::elf_r_sym(reloc.get_r_info());
- rela_dyn->add_local(object, r_sym, r_type, output_section,
+ rela_dyn->add_local_section(object, r_sym, r_type,
output_section,
  data_shndx, reloc.get_r_offset(),
  reloc.get_r_addend());
}

-- 
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/17673] New: Linking stabs produces huge binaries

2014-12-03 Thread kde at carewolf dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17673

Bug ID: 17673
   Summary: Linking stabs produces huge binaries
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
  Assignee: ccoutant at google dot com
  Reporter: kde at carewolf dot com
CC: ian at airs dot com

In QtWebKit we use the stabs format instead of dwarf2 on older gcc versions
that doesn't support dwarf4, we do this to reduce how much memory is used when
linking webkit (linking with dwarf2 using the traditional gnu ld used 11
gigabytes of memory). 

After Qt switched to using the gold linker when available, this has produced
counter productive results as not only do we not save any memory during linking
stabs object files with gold (we could live with that though), but gold
produces huge debug binaries. Where qtwebkit with stabs linked with gnu ld
produces debug libraries of 800MByte, and dwarf4 linked with gold 700Mbytes,
linking stabs with gold produces debug libraries over 2Gbytes in size.

If gold doesn't really support the stabs format, I would have preferred it
refused to link the object files over producing libraries so brokenly huge.

-- 
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/17512] segfault in PE parser / _bfd_pei_swap_aouthdr_in

2014-12-03 Thread cherepan at mccme dot ru
https://sourceware.org/bugzilla/show_bug.cgi?id=17512

--- Comment #118 from Alexander Cherepanov  ---
Created attachment 7990
  --> https://sourceware.org/bugzilla/attachment.cgi?id=7990&action=edit
Crashes for `objdump -afphxgGtTrRwW --special-syms`

Files: 11
Errors:
  9 Argument 'size' of function malloc has a fishy (possibly negative)
value: ...
  2 Invalid read of size ...
  2 Process terminating with default action of signal 11 (SIGSEGV)

-- 
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/17531] readelf -a crashes on fuzzed samples

2014-12-03 Thread cherepan at mccme dot ru
https://sourceware.org/bugzilla/show_bug.cgi?id=17531

--- Comment #49 from Alexander Cherepanov  ---
Created attachment 7991
  --> https://sourceware.org/bugzilla/attachment.cgi?id=7991&action=edit
Aborts for `readelf -agteAruhlsSdIncVWw --dyn-syms -D`

Files: 4
Errors:
  4 No assertion info in gdb backtrace.

-- 
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/17512] segfault in PE parser / _bfd_pei_swap_aouthdr_in

2014-12-03 Thread cherepan at mccme dot ru
https://sourceware.org/bugzilla/show_bug.cgi?id=17512

--- Comment #119 from Alexander Cherepanov  ---
(In reply to Nick Clifton from comment #117)
>   In case it is not obvious, I am not too concerned by the "silly argument
> to malloc" warnings from valgrind.  I night fix them one day, but for now
> they do not represent actual memory access violations, 

Such warnings can point to places of possible integer overflow which could lead
to actual buffer overruns with other (not yet found) samples. But I haven't
looked into specific cases.

> so I am ignoring them.

It's up to you. I've included them in the today's bunch because it was easier
than to filter them out. They are probably dupes with the previous ones so
please ignore them.

-- 
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/17566] ld: internal error in set_is_section_symbol, at object.h:1771 building Linux kernel on ppc64

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17566

--- Comment #4 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  1f98a0748c4dfae57a76c408501c938480c1173c (commit)
  from  ff1eb2b544c8500f48eff3418ac1e005acd5e3fe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit 1f98a0748c4dfae57a76c408501c938480c1173c
Author: Alan Modra 
Date:   Wed Dec 3 21:56:19 2014 +1030

powerpc gold, fix pr17566

Code stolen from arm.cc.

PR 17566
* powerpc.cc (Target_powerpc::Scan::local): Use add_local_section
when adding dynamic relocations against section symbols.

---

Summary of changes:
 gold/ChangeLog  |6 ++
 gold/powerpc.cc |   20 +---
 2 files changed, 23 insertions(+), 3 deletions(-)

-- 
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/17566] ld: internal error in set_is_section_symbol, at object.h:1771 building Linux kernel on ppc64

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17566

--- Comment #5 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, binutils-2_25-branch has been updated
   via  a9c9ac20a264dea3afff321e651fbbec0122af38 (commit)
  from  631d040f80d99b7b993abd77c9d064fa8bccd711 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit a9c9ac20a264dea3afff321e651fbbec0122af38
Author: Alan Modra 
Date:   Wed Dec 3 21:56:19 2014 +1030

powerpc gold, fix pr17566

Code stolen from arm.cc.

PR 17566
* powerpc.cc (Target_powerpc::Scan::local): Use add_local_section
when adding dynamic relocations against section symbols.

---

Summary of changes:
 gold/ChangeLog  |6 ++
 gold/powerpc.cc |   20 +---
 2 files changed, 23 insertions(+), 3 deletions(-)

-- 
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/17566] ld: internal error in set_is_section_symbol, at object.h:1771 building Linux kernel on ppc64

2014-12-03 Thread markus at trippelsdorf dot de
https://sourceware.org/bugzilla/show_bug.cgi?id=17566

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #6 from Markus Trippelsdorf  ---
Fixed. Thanks.

-- 
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/17531] readelf -a crashes on fuzzed samples

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17531

--- Comment #50 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  bee0ee850e846a8717b9aadb8d5da3adee3254ee (commit)
  from  9d157cb9fe73ff3d911ccdf581ab09eae02e78aa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit bee0ee850e846a8717b9aadb8d5da3adee3254ee
Author: Nick Clifton 
Date:   Wed Dec 3 16:33:33 2014 +

Replace calls to abort (in readelf) with informative error messages.

PR binutils/17531
* readelf.c (get_machine_flags): Replace call to abort with a
warning message and a return value.
(get_elf_section_flags): Likewise.
(get_symbol_visibility): Likewise.
(get_ia64_symbol_other): Likewise.
(get_ia64_symbol_other): Likewise.
(is_32bit_abs_reloc): Likewise.
(apply_relocations): Likewise.
(display_arm_attribute): Likewise.

---

Summary of changes:
 binutils/ChangeLog |   13 +++
 binutils/readelf.c |   61 
 2 files changed, 60 insertions(+), 14 deletions(-)

-- 
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/17531] readelf -a crashes on fuzzed samples

2014-12-03 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17531

--- Comment #51 from Nick Clifton  ---
Hi Alexander,

> Aborts for `readelf -agteAruhlsSdIncVWw --dyn-syms -D`

Thanks - I have checked in a patch to remove all calls to abort from inside
readelf.

Cheers
  Nick

-- 
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/17675] New: pie_copyrelocs_test fails with GCC 4.2

2014-12-03 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17675

Bug ID: 17675
   Summary: pie_copyrelocs_test fails with GCC 4.2
   Product: binutils
   Version: 2.26 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
  Assignee: ccoutant at google dot com
  Reporter: hjl.tools at gmail dot com
CC: ian at airs dot com

On Linux/x86-64 with GCC 4.2, I got

/usr/gcc-4.2/bin/g++ -W -Wall-Werror -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -fmerge-constants -g -O2 -Bgcctestdir/ -Wl,-R,. -pie  -o
pie_copyrelocs_test pie_copyrelocs_test.o pie_copyrelocs_shared_test.so -ldl
-lz 
gcctestdir/ld: error: pie_copyrelocs_test.o: requires dynamic R_X86_64_32 reloc
against '__gxx_personality_v0' which may overflow at runtime; recompile with
-fPIC
collect2: ld returned 1 exit status
make[7]: *** [pie_copyrelocs_test] Error 1

-- 
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/17675] pie_copyrelocs_test fails with GCC 4.2

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17675

--- Comment #1 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  4759c34e128035e57b06a7b3d7c58f135061c6da (commit)
  from  01bbed2a55655bb46b5fe1493f0c1a15dcf3a844 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit 4759c34e128035e57b06a7b3d7c58f135061c6da
Author: H.J. Lu 
Date:   Wed Dec 3 10:59:46 2014 -0800

Compile pie_copyrelocs_test.cc with -fno-exceptions
-fno-asynchronous-unwind-tables

PR gold/17675
* testsuite/Makefile.am (pie_copyrelocs_test_CXXFLAGS): New.
* testsuite/Makefile.in: Regenerated.

---

Summary of changes:
 gold/ChangeLog |6 ++
 gold/testsuite/Makefile.am |1 +
 gold/testsuite/Makefile.in |   24 +++-
 3 files changed, 26 insertions(+), 5 deletions(-)

-- 
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/17675] pie_copyrelocs_test fails with GCC 4.2

2014-12-03 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17675

H.J. Lu  changed:

   What|Removed |Added

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

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

-- 
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/17677] New: _bfd_elf_get_synthetic_symtab runs in O(n^2) complexity after commit 5840bf271c87c3fc14739173fdc91c6a14057130

2014-12-03 Thread tohava at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17677

Bug ID: 17677
   Summary: _bfd_elf_get_synthetic_symtab runs in O(n^2)
complexity after commit
5840bf271c87c3fc14739173fdc91c6a14057130
   Product: binutils
   Version: 2.24
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: tohava at gmail dot com

This bug was also reported here:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1388999

This bug causes a major slowdown for shared objects with many symbols (loading
times gone from 1 minute to 15 minutes). One possible fix for this is to
allocate an array of size n (n is the plt size) and fill it with the correct
values via random access, doing only one pass on the binary.

I will illustrate this with pseudo code.

Here is the current algorithm, as implemented in
_bfd_elf_get_synthetic_symtab's second for-loop.

for i = 0 to count
  addr = bed->plt_sym_val(i, plt, p); // this function has average linear
complexity
  // here addr is processed

I would replace the second for-loop with something like this (inspired by
elf_x86_64_plt_sym_val):

quick_plt_table = malloc(sizeof(bfd_vma) * count);
for i = 0 to count
  if type_doesnt_match_backend()
  continue
  bfd_get_section_contents(abfd,..., reloc_index_raw);
  reloc_index = H_GET_32(abfd, reloc_index_raw);
  quick_plt_table[reloc_index] = plt->vma + plt_offset;
  plt_offset += bed->plt_entry_size;
  rel += int_rels_per_ext_rel;
for i = 0 to count
  addr = quick_plt[i];
  // here addr is processed as done previously

Note that my version runs in linear complexity, and thus takes less time.

-- 
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/17677] _bfd_elf_get_synthetic_symtab runs in O(n^2) complexity after commit 5840bf271c87c3fc14739173fdc91c6a14057130

2014-12-03 Thread tohava at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17677

Ori Bar  changed:

   What|Removed |Added

 CC||tohava at gmail dot com

-- 
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/17512] segfault in PE parser / _bfd_pei_swap_aouthdr_in

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17512

--- Comment #120 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  db6b071a97893d5c7bf34e7fb171a0b710ea736d (commit)
  from  4759c34e128035e57b06a7b3d7c58f135061c6da (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit db6b071a97893d5c7bf34e7fb171a0b710ea736d
Author: Nick Clifton 
Date:   Wed Dec 3 19:50:48 2014 +

Fix memory access problems exposed by fuzzed binaries.

PR binutils/17512
* objdump.c (free_debug_section): Reset the compress_status as
well.

* compress.c (bfd_get_full_section_contents): Fail if there are no
section contents available when the compress_status is
COMPRESS_SECTION_DONE.
* libbfd.c (bfd_malloc): Refuse to allocate a negative size.
(bfd_malloc2): Use bfd_malloc.
(bfd_realloc): Refuse to reallocate a negative size.
(bfd_realloc2): Use bfd_realloc.
(bfd_realloc_or_free): Use bfd_realloc.
(bfd_zmalloc): Use bfd_malloc.
(bfd_zmalloc): Use bfd_malloc2.
* opncls.c (bfd_alloc): Refuse to allocate a negative size.

---

Summary of changes:
 bfd/ChangeLog  |   15 ++
 bfd/compress.c |2 +
 bfd/libbfd.c   |  127 +++
 bfd/opncls.c   |   14 --
 binutils/ChangeLog |6 +++
 binutils/objdump.c |1 +
 6 files changed, 61 insertions(+), 104 deletions(-)

-- 
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/17512] segfault in PE parser / _bfd_pei_swap_aouthdr_in

2014-12-03 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17512

--- Comment #121 from Nick Clifton  ---
Hi Alexander,

> Errors:
>   9 Argument 'size' of function malloc has a fishy (possibly negative)
> value: ...
>   2 Invalid read of size ...
>   2 Process terminating with default action of signal 11 (SIGSEGV)

These should all be fixed now.

Cheers
  Nick

-- 
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/17677] _bfd_elf_get_synthetic_symtab runs in O(n^2) complexity after commit 5840bf271c87c3fc14739173fdc91c6a14057130

2014-12-03 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17677

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #1 from H.J. Lu  ---
For which target? i386, x86-64 or both?

-- 
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/17677] _bfd_elf_get_synthetic_symtab runs in O(n^2) complexity after commit 5840bf271c87c3fc14739173fdc91c6a14057130

2014-12-03 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17677

H.J. Lu  changed:

   What|Removed |Added

 CC||hjl.tools at gmail dot com

-- 
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/17670] internal error in symval_for_branch, at powerpc.cc:6755 during qt5 build

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17670

--- Comment #6 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  1611bc4afb0f08f0aff64ec355b8d68e9f4f0a73 (commit)
  from  858339f2b7aafe199c1cd07fc8d4a7c8130aa285 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit 1611bc4afb0f08f0aff64ec355b8d68e9f4f0a73
Author: Alan Modra 
Date:   Wed Dec 3 16:17:23 2014 +1030

powerpc gold, work around pr17670

pr17670 is about an assert triggering on a branch to an undefined
weak symbol, the symbol being undefined due to dropping its comdat
group section.  (Well sort of.  The symbol is actually defined in
an .opd section which isn't part of the group, but the code section
the opd entry points at is dropped.)  So don't assert.
Also, don't make long branch stubs to such symbols, and arrange to
have target-reloc.h code warn when applying relocs that use the sym.

PR 17670
* symtab.cc (Symbol::set_undefined): Remove assertion.
* powerpc.cc (Target_powerpc::symval_for_branch): Don't assert
on symbols defined in discarded sections, instead return false.
Rearrange params, update all callers.
(Target_powerpc::Branch_info::make_stub): Don't make stubs for
branches to syms in discarded sections.
(Global_symbol_visitor_opd::operator()): Set discarded opd syms
undefined and flag as discarded.
(Target_powerpc::Relocate::relocate): Localize variable.

---

Summary of changes:
 gold/ChangeLog  |   13 +
 gold/powerpc.cc |   54 +++---
 gold/symtab.cc  |1 -
 3 files changed, 44 insertions(+), 24 deletions(-)

-- 
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/17670] internal error in symval_for_branch, at powerpc.cc:6755 during qt5 build

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17670

--- Comment #7 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, binutils-2_25-branch has been updated
   via  feba93770920f91760d6390541221b75ba5c95f3 (commit)
  from  b6cc44453451b1ac6ca22d83875a6c3583ceec3d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit feba93770920f91760d6390541221b75ba5c95f3
Author: Alan Modra 
Date:   Wed Dec 3 16:17:23 2014 +1030

powerpc gold, work around pr17670

pr17670 is about an assert triggering on a branch to an undefined
weak symbol, the symbol being undefined due to dropping its comdat
group section.  (Well sort of.  The symbol is actually defined in
an .opd section which isn't part of the group, but the code section
the opd entry points at is dropped.)  So don't assert.
Also, don't make long branch stubs to such symbols, and arrange to
have target-reloc.h code warn when applying relocs that use the sym.

PR 17670
* symtab.cc (Symbol::set_undefined): Remove assertion.
* powerpc.cc (Target_powerpc::symval_for_branch): Don't assert
on symbols defined in discarded sections, instead return false.
Rearrange params, update all callers.
(Target_powerpc::Branch_info::make_stub): Don't make stubs for
branches to syms in discarded sections.
(Global_symbol_visitor_opd::operator()): Set discarded opd syms
undefined and flag as discarded.
(Target_powerpc::Relocate::relocate): Localize variable.

---

Summary of changes:
 gold/ChangeLog  |   13 +
 gold/powerpc.cc |   54 +++---
 gold/symtab.cc  |1 -
 3 files changed, 44 insertions(+), 24 deletions(-)

-- 
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/17670] internal error in symval_for_branch, at powerpc.cc:6755 during qt5 build

2014-12-03 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17670

Alan Modra  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC|amodra at gmail dot com|
 Resolution|--- |FIXED
   Target Milestone|--- |2.25

--- Comment #8 from Alan Modra  ---
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/17666] ld -r may create reloc sections with unordered relocs

2014-12-03 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=17666

--- Comment #1 from cvs-commit at gcc dot gnu.org  ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
   via  53df40a43c968f4d97754226d62775d1fe665459 (commit)
  from  621661e3faf809d4f28bb84e94e30c1c8a8cc933 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit 53df40a43c968f4d97754226d62775d1fe665459
Author: Alan Modra 
Date:   Wed Dec 3 22:00:18 2014 +1030

Sort relocs output by ld -r

bfd/
PR 17666
* elflink.c: Include bfd_stdint.h.
(cmp_ext32l_r_offset, cmp_ext32b_r_offset,
cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
(elf_link_adjust_relocs): Sort relocs.  Free reloc hashes after
sorting invalidates.
ld/testsuite/
* ld-powerpc/vxworks-relax.rd: Update for reloc sorting.
* ld-powerpc/vxworks-relax-2.rd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.

---

Summary of changes:
 bfd/ChangeLog  |9 ++
 bfd/elflink.c  |  158 
 ld/testsuite/ChangeLog |7 ++
 ld/testsuite/ld-powerpc/vxworks-relax-2.rd |4 +-
 ld/testsuite/ld-powerpc/vxworks-relax.rd   |4 +-
 ld/testsuite/ld-sh/sh64/reldl32.rd |4 +-
 ld/testsuite/ld-sh/sh64/reldl64.rd |4 +-
 7 files changed, 182 insertions(+), 8 deletions(-)

-- 
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/17666] ld -r may create reloc sections with unordered relocs

2014-12-03 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=17666

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
   Target Milestone|--- |2.26

--- Comment #2 from Alan Modra  ---
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