[Bug gas/26610] ARM's "VFPv3 vldr to vmov" gas testcase fails after 7af677524e2

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26610

--- Comment #2 from Alan Modra  ---
I didn't see any regression on arm when I made the patch.  Maybe this problem 
needs a 32-bit host?

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


[Bug gas/26610] ARM's "VFPv3 vldr to vmov" gas testcase fails after 7af677524e2

2020-09-15 Thread maxim.kuvyrkov at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26610

--- Comment #3 from Maxim Kuvyrkov  ---
(In reply to Alan Modra from comment #2)
> I didn't see any regression on arm when I made the patch.  Maybe this
> problem 
> needs a 32-bit host?

Possibly.  I assume you tested armv7l, would you please test armv8l as well? 
It's rare that armv7 vs armv8 makes a difference, but it does happen.

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


[Bug gas/26610] ARM's "VFPv3 vldr to vmov" gas testcase fails after 7af677524e2

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26610

Alan Modra  changed:

   What|Removed |Added

   Last reconfirmed||2020-09-15
 Status|UNCONFIRMED |ASSIGNED
 Ever confirmed|0   |1
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com

--- Comment #4 from Alan Modra  ---
Yes, it is a 32-bit host only bug.  I removed a few too many parentheses.

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


[Bug gas/26610] ARM's "VFPv3 vldr to vmov" gas testcase fails after 7af677524e2

2020-09-15 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=26610

--- Comment #5 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=7e30b1ebbf2fcf5e6bcfc3a7791d9a52614dcc43

commit 7e30b1ebbf2fcf5e6bcfc3a7791d9a52614dcc43
Author: Alan Modra 
Date:   Tue Sep 15 20:55:02 2020 +0930

PR26610, ARM's "VFPv3 vldr to vmov" gas testcase fail

I removed a few too many parentheses in git commit 7af677524e2.  This
patch fixes that problem, rewriting the expression so it won't happen
again.  The patch also avoids more UB with shifts of signed values.

PR 26610
* config/tc-arm.c (move_or_literal_pool): Correct extraction of
bignum.  Use unsigned "v"
(is_double_a_single): Make "v" and "mantissa" unsigned. 
Formatting.
(double_to_single): Likewise.

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


[Bug gas/26610] ARM's "VFPv3 vldr to vmov" gas testcase fails after 7af677524e2

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26610

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
   Target Milestone|--- |2.36
 Resolution|--- |FIXED

--- Comment #6 from Alan Modra  ---
Fixed

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


[Bug ld/26583] R_X86_64_PC32 relocation against data symbol is mishandled

2020-09-15 Thread minnowware at hotmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26583

--- Comment #14 from Kilian Kegel  ---
Hi H.J.Lu,

no it works! That is great! ;-)
Your implementation resolves all of the bugs (2) 
that I noticed so far 26583, 26584 and 26547 (.BSS and OPTIMIZATION bug).

So I will continue my project soon:
Port of Torito C Library to Linux - that means to create ANSI C (C89/C90)
applications with Visual Studio 2019 tool chain for
1. UEFI Shell
2. Linux x86-64
3. Windows10 64 (for validation of (1) and (2) only)

https://github.com/KilianKegel/torito-C-Library

To create the Linux .ELF executables the LINK.EXE is replaced
by a GNU ld, running in a WSL2 VM (Windows subsystem for Linux)
on the Windows Build Machine.

To get a deeper understanding please tell me
1. Is Microsoft COFF support really (hopefully) a requirement of GNU/ld?
2. Are there probably other COFF variants that may be affected by that fix
3. Will this fix also appear in the next public release of BINUTILS?

Thanks a lot,
Kilian

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


[Bug ld/26583] R_X86_64_PC32 relocation against data symbol is mishandled

2020-09-15 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26583

H.J. Lu  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #15 from H.J. Lu  ---
(In reply to Kilian Kegel from comment #14)
> Hi H.J.Lu,
> 
> To get a deeper understanding please tell me
> 1. Is Microsoft COFF support really (hopefully) a requirement of GNU/ld?

Linking in Microsoft COFF input for ELF output is very limited.
Not all Microsoft COFF inputs are compatible with ELF output.

> 2. Are there probably other COFF variants that may be affected by that fix

This fix only affects ELF output with Microsoft COFF inputs.

> 3. Will this fix also appear in the next public release of BINUTILS?
> 

I am targeting 2.36 release.

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


[Bug ld/26622] New: Support --gc-sections for SHF_MERGE sections

2020-09-15 Thread i at maskray dot me
https://sourceware.org/bugzilla/show_bug.cgi?id=26622

Bug ID: 26622
   Summary: Support --gc-sections for SHF_MERGE sections
   Product: binutils
   Version: unspecified
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: i at maskray dot me
  Target Milestone: ---

% cat a.c
__attribute__((noinline)) void ppp(const char *a) {}
void used1(){ ppp("foo"); }
void used2(){ ppp("bar"); }
void used3(){ ppp("bar foo"); }
void unused(){ ppp("unused"); }

% clang -c a.c -ffunction-sections -fdata-sections -fPIC && re -S a.o G rodata  
  [12] .rodata.str1.1PROGBITS c2 17 01 AMS 
0   0  1
% ld.bfd --gc-sections -e 0 a.o -o a -u used1 -u used2 -u used3 && strings a |
grep unused
   2010 unused

`unused` is in the linked image because GNU ld (and gold) do not implement
--gc-sections for SHF_MERGE sections.

Since May 2015, GCC -ffunction-sections -fdata-sections -fmerge-constants
places string literals into separate sections
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192#c16

% gcc -c a.c -ffunction-sections -fdata-sections -fPIC -fmerge-constants && re
-S a.o G rodata
  [ 5] .rodata.used1.str1.1 PROGBITS 4b 04 01
AMS  0   0  1
  [ 8] .rodata.used2.str1.1 PROGBITS 62 04 01
AMS  0   0  1
  [11] .rodata.used3.str1.1 PROGBITS 79 08 01
AMS  0   0  1
  [14] .rodata.unused.str1.1 PROGBITS 94 07 01
AMS  0   0  1

This is to make --gc-sections discard unused section pieces. However, this does
not look like a good idea
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192#c14) because the cost of a
section header (sizeof(Elf64_Shdr)=64) + a section name is quite large. The
object file sizes are bloated even if the final linked image is optimal.

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


[Bug ld/26622] Support --gc-sections for SHF_MERGE sections

2020-09-15 Thread i at maskray dot me
https://sourceware.org/bugzilla/show_bug.cgi?id=26622

--- Comment #1 from Fangrui Song  ---
Ah, I alias `re` to readelf and `G` to `| grep` :)

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


[Bug binutils/26623] New: buffer overflow in ppc_symbol_is_valid

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26623

Bug ID: 26623
   Summary: buffer overflow in ppc_symbol_is_valid
   Product: binutils
   Version: 2.36 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: amodra at gmail dot com
  Target Milestone: ---

When running the ld testsuite

/home/alan/build/gas-san32/powerpc64le-linux/ld/../binutils/objdump -dr
tmpdir/tls
=
==25161==ERROR: AddressSanitizer: heap-buffer-overflow on address 0xf4700f45 at
pc 0x569e889a bp 0xffd46108 sp 0xffd460f8
READ of size 1 at 0xf4700f45 thread T0
#0 0x569e8899 in ppc_symbol_is_valid
/home/alan/src/binutils-gdb/opcodes/ppc-dis.c:416
#1 0x5691c709 in sym_ok /home/alan/src/binutils-gdb/binutils/objdump.c:1104
#2 0x5691c709 in find_symbol_for_address
/home/alan/src/binutils-gdb/binutils/objdump.c:1179
...
FAIL: TLS static exec

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


[Bug binutils/26623] buffer overflow in ppc_symbol_is_valid

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26623

Alan Modra  changed:

   What|Removed |Added

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

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


[Bug ld/26378] sections initialised only by linker scripts are always read/write

2020-09-15 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26378

--- Comment #10 from Alan Modra  ---
Created attachment 12844
  --> https://sourceware.org/bugzilla/attachment.cgi?id=12844&action=edit
dubious fix

We could change the default for sections with input only from linker scripts,
but that will almost certainly break something for someone.

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