[Bug ld/26688] ld segfaulting building uClibc-ng 1.0.35 for bfin-linux

2021-01-13 Thread vapier at gentoo dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=26688

Mike Frysinger  changed:

   What|Removed |Added

 CC||vapier at gentoo dot org
   Assignee|unassigned at sourceware dot org   |hjl.tools at gmail dot 
com

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


[Bug binutils/27037] dlltool delay-load trampoline is missing SEH unwinding annotations

2021-01-13 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=27037

--- Comment #2 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Nick Clifton :

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

commit 2ce40d1a5184271aa01675b55be8c04dfc320eee
Author: Zebediah Figura 
Date:   Wed Jan 13 10:55:46 2021 +

Add SEH support to code generated by dlltool.

PR 27037
* dlltool.c (i386_trampoline): Adjust %rsp immediately on entry
and before exit.
(i386_x64_trampoline): Add SEH annotations.
(struct mac): Add how_seh field.
(make_delay_head): If how_set field is true add SEh instructions.

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


[Bug binutils/27037] dlltool delay-load trampoline is missing SEH unwinding annotations

2021-01-13 Thread nickc at redhat dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27037

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at redhat dot com
 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Nick Clifton  ---
Patch applied.

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


[Bug ld/27160] NOCROSSREFS 1 fail on ia64-linux after commit cd6d537c48fa

2021-01-13 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=27160

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

commit b209b5a6b8a4433be961a0f016439f381de65bfc
Author: Alan Modra 
Date:   Wed Jan 13 13:33:34 2021 +1030

SHF_LINK_ORDER fixup_link_order in ld

This moves the SHF_LINK_ORDER sorting from bfd_elf_final_link to
the linker which means generic ELF targets now support SHF_LINK_ORDER
and  we cope with odd cases that require resizing of output sections.
The patch also fixes two bugs in the current implementation,
introduced by commit cd6d537c48fa.  The pattern test used by that
commit meant that sections matching something like
"*(.IA_64.unwind* .gnu.linkonce.ia64unw.*)" would not properly sort a
mix of sections matching the two wildcards.  That commit also assumed
a stable qsort.

bfd/
PR 27160
* section.c (struct bfd_section): Remove pattern field.
(BFD_FAKE_SECTION): Adjust to suit.
* bfd-in2.h: Regenerate.
* elflink.c (compare_link_order, elf_fixup_link_order): Delete.
(bfd_elf_final_link): Don't call elf_fixup_link_order.
ld/
PR 27160
* ldlang.h (lang_output_section_statement_type): Add data field.
(lang_input_section_type, lang_section_bst_type): Add pattern
field.
(statement_list): Declare.
(lang_add_section): Adjust prototype.
* emultempl/aarch64elf.em: Adjust lang_add_section calls.
* emultempl/armelf.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/cskyelf.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/metagelf.em: Likewise.
* emultempl/mipself.em: Likewise.
* emultempl/mmo.em: Likewise.
* emultempl/msp430.em: Likewise.
* emultempl/nios2elf.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/pep.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/vms.em: Likewise.
* ldelf.c: Likewise.
* ldelfgen.c: Include ldctor.h.
(struct os_sections): New.
(add_link_order_input_section, link_order_scan): New functions.
(compare_link_order, fixup_link_order): New functions.
(ldelf_map_segments): Call link_order_scan and fixup_link_order.
* ldlang.c (statement_list): Make global.
(output_section_callback_fast): Save pattern in tree node.
(lang_add_section): Add pattern parameter, save in
lang_input_section.
(output_section_callback_tree_to_list): Adjust lang_add_section
calls.
(lang_insert_orphan, output_section_callback): Likewise.
(ldlang_place_orphan): Likewise.
(gc_section_callback): Don't set section->pattern
* testsuite/ld-elf/pr26256-2a.d: Don't xfail generic.
* testsuite/ld-elf/pr26256-3b.d: Likewise.
* testsuite/ld-elf/pr26256-2b.d: Likewise.  notarget xgate.

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


[Bug ld/27160] NOCROSSREFS 1 fail on ia64-linux after commit cd6d537c48fa

2021-01-13 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27160

Alan Modra  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
   Target Milestone|--- |2.37
 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/26688] ld segfaulting building uClibc-ng 1.0.35 for bfin-linux

2021-01-13 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26688

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Last reconfirmed||2021-01-13

--- Comment #4 from H.J. Lu  ---
A patch is posted at

https://sourceware.org/pipermail/binutils/2021-January/114923.html

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


[Bug gas/27169] i386: Emit R_386_PLT32 instead of R_386_PC32 for `call/jmp foo`

2021-01-13 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27169

--- Comment #12 from H.J. Lu  ---
i386 is legacy.  Let's leave it alone.

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


[Bug libctf/26934] [2.36 Regression] ctf-dump.c:406:4: error: format not a string literal and no format arguments [-Werror=format-security]

2021-01-13 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=26934

H.J. Lu  changed:

   What|Removed |Added

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

--- Comment #4 from H.J. Lu  ---
Fixed for 2.36.

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


[Bug gas/27178] x86-64: Omit _GLOBAL_OFFSET_TABLE_ for call foo@PLT

2021-01-13 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=27178

--- 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=844bf810cf9feebe50772c29d72256ec3c872270

commit 844bf810cf9feebe50772c29d72256ec3c872270
Author: H.J. Lu 
Date:   Wed Jan 13 05:42:11 2021 -0800

x86: Don't generate GOT_symbol for PLT relocations

Don't generate the _GLOBAL_OFFSET_TABLE_ symbol for PLT relocations
since it isn't needed.

PR gas/27178
* config/tc-i386.c (lex_got::gotrel): Add need_GOT_symbol.
Don't generate GOT_symbol for PLT relocations.
* testsuite/gas/i386/i386.exp: Run PR gas/27178 tests.
* testsuite/gas/i386/no-got.d: New file.
* testsuite/gas/i386/no-got.s: Likewise.
* testsuite/gas/i386/x86-64-no-got.d: Likewise.
* testsuite/gas/i386/x86-64-no-got.s: Likewise.

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


[Bug gas/27178] x86-64: Omit _GLOBAL_OFFSET_TABLE_ for call foo@PLT

2021-01-13 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27178

H.J. Lu  changed:

   What|Removed |Added

   Target Milestone|--- |2.37
 Resolution|--- |FIXED
Version|unspecified |2.37 (HEAD)
 Status|UNCONFIRMED |RESOLVED

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

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


[Bug gas/27169] i386: Emit R_386_PLT32 instead of R_386_PC32 for `call/jmp foo`

2021-01-13 Thread hjl.tools at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=27169

H.J. Lu  changed:

   What|Removed |Added

 Resolution|NOTABUG |WONTFIX

--- Comment #13 from H.J. Lu  ---
These native i386 tests:

FAIL: visibility (hidden_normal) (non PIC)
FAIL: visibility (hidden_normal) (non PIC, load offset)
FAIL: visibility (hidden_normal) (PIC main, non PIC so)
FAIL: visibility (hidden_weak) (non PIC)
FAIL: visibility (hidden_weak) (non PIC, load offset)
FAIL: visibility (hidden_weak) (PIC main, non PIC so)
FAIL: visibility (protected) (non PIC)
FAIL: visibility (protected) (non PIC, load offset)
FAIL: visibility (protected) (PIC main, non PIC so)
FAIL: visibility (protected_undef_def) (non PIC)
FAIL: visibility (protected_undef_def) (non PIC, load offset)
FAIL: visibility (protected_undef_def) (PIC main, non PIC so)
FAIL: visibility (protected_weak) (non PIC)
FAIL: visibility (protected_weak) (non PIC, load offset)
FAIL: visibility (protected_weak) (PIC main, non PIC so)
FAIL: visibility (normal) (non PIC)
FAIL: visibility (normal) (non PIC, load offset)
FAIL: visibility (normal) (PIC main, non PIC so)
FAIL: shared (non PIC)
FAIL: shared (non PIC, load offset)
FAIL: shared (PIC main, non PIC so)

track the R_386_PLT32 vs R_386_PC32 issue.

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


[Bug ld/27160] NOCROSSREFS 1 fail on ia64-linux after commit cd6d537c48fa

2021-01-13 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=27160

--- Comment #7 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=4120e4885bd80ac66fb6c643ecc9d15adec92a14

commit 4120e4885bd80ac66fb6c643ecc9d15adec92a14
Author: Alan Modra 
Date:   Thu Jan 14 08:48:49 2021 +1030

Re: SHF_LINK_ORDER fixup_link_order in ld

PR 27160
* ldelfgen.c (compare_link_order): Protect access of ELF section
data.
(add_link_order_input_section): Remove redundant NULL check.
Use bfd_get_flavour.
(ldelf_map_segments): Use bfd_get_flavour.

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


[Bug ld/27180] New: RISC-V far relocations for auipc instructions may cause segfault with --emit-relocs

2021-01-13 Thread jwerner at chromium dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=27180

Bug ID: 27180
   Summary: RISC-V far relocations for auipc instructions may
cause segfault with --emit-relocs
   Product: binutils
   Version: 2.35.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: jwerner at chromium dot org
  Target Milestone: ---

I have run into a segfault in GNU ld for the RISC-V architecture. I'm using
2.35.1, but I also briefly tried out the latest Git tree and saw it there as
well. The following minimal testcase can reproduce it:

 test.c 
extern int mysymbol[0];
int *_start(void) {
return mysymbol;
}


=== test.ld 
ENTRY(_start)
SECTIONS
{
mysymbol = 0x1000;

.text 0x9000 : {
*(.text)
}
}


$ riscv64-elf-gcc -nostdlib -T test.ld -Wl,--emit-relocs -mcmodel=medany -o
test test.c
collect2: fatal error: ld terminated with signal 11 [Segmentation fault]
compilation terminated.

I have debugged the segfault a bit and found that it happens at `rh =
elf_sym_hashes (input_bfd)[indx];` in elflink.c:11232, because indx is
completely out of range. The problem is that this code assumes that r_symndx
(computed from `irela->r_info >> r_sym_shift`) can always be trusted to be a
symbol index. However, for some absolute relocations in the RISC-V
architecture, it is actually an absolute offset.

In my testcase, the problematic relocation starts out as an R_RISCV_PCREL_HI20
relocation (where the high 32 bytes would be a symbol index, so this code would
work correctly). However, when calling into the riscv_elf_relocate_section()
backend, the relocation ends up being transformed into an R_RISCV_HI20 absolute
relocation, where the high 32 bytes of r_info are simply an absolute address.
(It's possible that this bug also exists for normal R_RISCV_HI20 relocations in
the source file, or maybe that case would've been caught earlier and it's only
the late transformation of the relocation that causes the problem... I didn't
test that far.)

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