[Bug ld/25665] aarch64 veneers not inserted with large .text object between caller and target

2020-06-05 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25665

Wilco  changed:

   What|Removed |Added

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

--- Comment #17 from Wilco  ---
Fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/25665] aarch64 veneers not inserted with large .text object between caller and target

2020-04-30 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25665

--- Comment #15 from Wilco  ---
Patch: https://sourceware.org/pipermail/binutils/2020-April/110894.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/25665] aarch64 veneers not inserted with large .text object between caller and target

2020-04-22 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25665

--- Comment #14 from Wilco  ---
So the bug is this in bfd/elfnn-aarch64.c (group_sections, #3609):

  /* But wait, there's more!  Input sections up to stub_group_size
 bytes before the stub section can be handled by it too.  */
  if (!stubs_always_before_branch)
{
  total = 0;  --> BUG should be tail->size
  while (prev != NULL
 && ((total += tail->output_offset - prev->output_offset)
 < stub_group_size))

We're placing a stub section after tail, so we must reach from the start of the
previous section to the end of tail, not just to the start!

The Arm version of this function does this correctly - given it is much better
written, copying that is the best option.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug ld/25665] aarch64 veneers not inserted with large .text object between caller and target

2020-04-07 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25665

Wilco  changed:

   What|Removed |Added

 CC||wdijkstr at arm dot com

--- Comment #9 from Wilco  ---
(In reply to rrorden from comment #8)
> So the proposal is to add an aarch64 linker option that places stubs after
> input sections that need them, just like aarch32, and I would need to
> implement the -ffunction-sections behavior in our aot compiler so each
> function (and they are relatively small) gets a unique section name. The A53
> erratum would not force every stub section to align to 4k, but that is a
> worst-case scenario. If this is correct, I am okay with it.

You don't need to place every function in its own section (that would add a lot
of overhead if there are millions), just avoid creating sections larger than
say 127MBytes (that allows for >87000 long branch veneers).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/24770] elf/type-2.s fails on AArch64

2019-07-12 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24770

Wilco  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Wilco  ---
(In reply to Wilco from comment #0)
> The new test elf/type-2.s fails on aarch64-none-linux-gnu with:
> 
> regexp_diff match failure
> regexp "^ +.+: 0+1 +0 +FUNC +LOCAL +DEFAULT +. test2$"
> line   " 5:  0 NOTYPE  LOCAL  DEFAULT1 $d"
> regexp_diff match failure

Fixed now.

-- 
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 gas/24770] New: elf/type-2.s fails on AArch64

2019-07-05 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24770

Bug ID: 24770
   Summary: elf/type-2.s fails on AArch64
   Product: binutils
   Version: 2.33 (HEAD)
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: gas
  Assignee: unassigned at sourceware dot org
  Reporter: wdijkstr at arm dot com
  Target Milestone: ---
Target: aarch64

The new test elf/type-2.s fails on aarch64-none-linux-gnu with:

regexp_diff match failure
regexp "^ +.+: 0+1 +0 +FUNC +LOCAL +DEFAULT +. test2$"
line   " 5:  0 NOTYPE  LOCAL  DEFAULT1 $d"
regexp_diff match failure

-- 
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/20321] Segmentation fault with plugin

2016-07-05 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20321

--- Comment #10 from Wilco  ---
(In reply to H.J. Lu from comment #8)
> (In reply to Wilco from comment #6)
> > 
> > I haven't tried x86-64 but it fails on ARM as well so it appears generic. It
> > reproduces with older GCC versions, eg. 4.8.2, while it passes with trunk
> > GCC.
> 
> I checked in a fix.  Please try again.

Confirmed 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 ld/20321] Segmentation fault with plugin

2016-07-05 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20321

--- Comment #6 from Wilco  ---
(In reply to H.J. Lu from comment #5)
> (In reply to Wilco from comment #4)
> 
> > This new test fails on AArch64 with an assertion:
> > 
> > collect2: error: ld terminated with signal 6 [Aborted]
> > collect-ld: ../../src/lto-plugin/lto-plugin.c:621: all_symbols_read_handler:
> > Assertion `lto_wrapper_argv' failed.
> > collect2: error: ld terminated with signal 6 [Aborted]
> > collect-ld: ../../src/lto-plugin/lto-plugin.c:621: all_symbols_read_handler:
> > Assertion `lto_wrapper_argv' failed.
> > returned with:  > collect-ld: ../../src/lto-plugin/lto-plugin.c:621: all_symbols_read_handler:
> > Assertion `lto_wrapper_argv' failed.>, expected: <.*: duplicated plugin>
> 
> Can you reproduce it on x86-64? If yes, how? If not, why does it only fail
> on AArch64?

I haven't tried x86-64 but it fails on ARM as well so it appears generic. It
reproduces with older GCC versions, eg. 4.8.2, while it passes with trunk GCC.

-- 
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/20321] Segmentation fault with plugin

2016-07-05 Thread wdijkstr at arm dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20321

Wilco  changed:

   What|Removed |Added

 CC||wdijkstr at arm dot com

--- Comment #4 from Wilco  ---
(In reply to cvs-com...@gcc.gnu.org from comment #2)
> The master branch has been updated by H.J. Lu <h...@sourceware.org>:
> 
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;
> h=c3e1c28ebfdb20ff4498bcc792228283b903d393
> 
> commit c3e1c28ebfdb20ff4498bcc792228283b903d393
> Author: H.J. Lu <hjl.to...@gmail.com>
> Date:   Mon Jul 4 08:55:04 2016 -0700
> 
> Warn and return for duplicated plugin
> 
> If a plugin has been loaded already, we should warn and return, instead
> of adding it on the plugin list.
> 
>   PR ld/20321
>   * plugin.c (plugin_opt_plugin): Warn and return if plugin has
>   been loaded already.
>   * testsuite/ld-plugin/lto.exp: Run PR ld/20321 test.
>   * testsuite/ld-plugin/pr20321.c: New file.

This new test fails on AArch64 with an assertion:

collect2: error: ld terminated with signal 6 [Aborted]
collect-ld: ../../src/lto-plugin/lto-plugin.c:621: all_symbols_read_handler:
Assertion `lto_wrapper_argv' failed.
collect2: error: ld terminated with signal 6 [Aborted]
collect-ld: ../../src/lto-plugin/lto-plugin.c:621: all_symbols_read_handler:
Assertion `lto_wrapper_argv' failed.
returned with: , expected: <.*: duplicated plugin>

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