[Bug binutils/27158] New: RISC-V port still has UJ instruction type references

2021-01-07 Thread wilson at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=27158

Bug ID: 27158
   Summary: RISC-V port still has UJ instruction type references
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: wilson at gcc dot gnu.org
  Target Milestone: ---

RISC-V ISA v2.1 has a UJ instruction format that got renamed to J in ISA v2.2. 
But the source code still has references to the obsolete UJ instruction format.

rohan:2349$ grep UJ include/opcode/riscv.h
#define EXTRACT_UJTYPE_IMM(x) \
#define ENCODE_UJTYPE_IMM(x) \
#define VALID_UJTYPE_IMM(x) (EXTRACT_UJTYPE_IMM(ENCODE_UJTYPE_IMM(x)) == (x))
#define RISCV_UJTYPE(insn, rd, target) \
  ((MATCH_ ## insn) | ((rd) << OP_SH_RD) | ENCODE_UJTYPE_IMM(target))
rohan:2350$ 

These should be renmaed from UJTYPE to JTYPE.

This is just a minor quality of implementation issue and does not need to be
fixed before the release branch is made in a few days.

We still support .insh uj, ... but we can't change that without the risk of
breaking old user code that references the old instruction format name.

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


[Bug binutils/24702] objdump: use STT_SECTION symbol in the symbolizer

2021-01-07 Thread i at maskray dot me
https://sourceware.org/bugzilla/show_bug.cgi?id=24702

--- Comment #1 from Fangrui Song  ---
The idea is that section+offset should be preferred over
far_away_symbol+large_offset because the former is more relevant.

Update: d1bcae833b32f1408485ce69f844dcd7ded093a8 ("ELF: Don't generate unused
section symbols") may reveal more instances. This suggests that even in the
absence of STT_SECTION (they are optional, not useful if no relocation
references them), we should synthesize them from section headers.

--- a/ld/testsuite/ld-x86-64/pr21038b.d
+++ b/ld/testsuite/ld-x86-64/pr21038b.d
@@ -53,7 +53,7 @@ Disassembly of section .plt:
  +[a-f0-9]+:   f2 ff 25 53 0e 20 00bnd jmp \*0x200e53\(%rip\)#
201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 00nopl   \(%rax\)
  +[a-f0-9]+:   68 00 00 00 00  push   \$0x0
- +[a-f0-9]+:   f2 e9 e5 ff ff ff   bnd jmp 1b0 <.plt>
+ +[a-f0-9]+:   f2 e9 e5 ff ff ff   bnd jmp 1b0 
  +[a-f0-9]+:   0f 1f 44 00 00  nopl   0x0\(%rax,%rax,1\)


- +[a-f0-9]+:   e9 e0 ff ff ff  jmp180 <.plt>
+ +[a-f0-9]+:   e9 e0 ff ff ff  jmp180 <\*ABS\*@plt-0x10>


--- a/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-21-x86-64.d
@@ -9,11 +9,11 @@
 Disassembly of section .text:

 0+4000c8 <__start>:
- +[a-f0-9]+:   ff 15 2a 00 20 00   call   \*0x20002a\(%rip\)#
6000f8 <.got>
- +[a-f0-9]+:   ff 25 24 00 20 00   jmp\*0x200024\(%rip\)#
6000f8 <.got>
- +[a-f0-9]+:   48 03 05 1d 00 20 00add0x20001d\(%rip\),%rax#
6000f8 <.got>
- +[a-f0-9]+:   48 8b 05 16 00 20 00mov0x200016\(%rip\),%rax#
6000f8 <.got>
- +[a-f0-9]+:   48 85 05 0f 00 20 00test   %rax,0x2f\(%rip\)#
6000f8 <.got>
+ +[a-f0-9]+:   ff 15 2a 00 20 00   call   \*0x20002a\(%rip\)#
6000f8 
+ +[a-f0-9]+:   ff 25 24 00 20 00   jmp\*0x200024\(%rip\)#
6000f8 
+ +[a-f0-9]+:   48 03 05 1d 00 20 00add0x20001d\(%rip\),%rax#
6000f8 
+ +[a-f0-9]+:   48 8b 05 16 00 20 00mov0x200016\(%rip\),%rax#
6000f8 
+ +[a-f0-9]+:   48 85 05 0f 00 20 00test   %rax,0x2f\(%rip\)#
6000f8 
  +[a-f0-9]+:   48 c7 c0 f1 00 40 00mov\$0x4000f1,%rax

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


[Bug ld/13900] linking helloaout.c in cris testsuite causes the linker to segfault

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

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

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

commit e6c1dbbfe8bed2b9396f74e3594701c8abe875ad
Author: Mike Frysinger 
Date:   Thu Jan 7 01:57:35 2021 -0500

sim: cris: disable test that crashes the linker

PR ld/13900
Linking this test crashes the linker, so disable it.  The crash
was reported about 9 years ago but haven't made progress, so lets
avoid the failures in test runs.

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


[Bug gold/25159] internal error in define_default_version

2021-01-07 Thread dilfridge at gentoo dot org
https://sourceware.org/bugzilla/show_bug.cgi?id=25159

Andreas K. Huettel  changed:

   What|Removed |Added

 CC||dilfridge at gentoo dot org

--- Comment #2 from Andreas K. Huettel  ---
See also:

https://bugs.gentoo.org/764332 (elogind)
https://bugs.gentoo.org/669754 (samba)

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


[Bug binutils/27155] New: objcopy --only-keep-debug should strip .debug_info symbols

2021-01-07 Thread mliska at suse dot cz
https://sourceware.org/bugzilla/show_bug.cgi?id=27155

Bug ID: 27155
   Summary: objcopy --only-keep-debug should strip .debug_info
symbols
   Product: binutils
   Version: 2.35.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: binutils
  Assignee: unassigned at sourceware dot org
  Reporter: mliska at suse dot cz
CC: mark at klomp dot org
  Target Milestone: ---

Let's consider the following example:

$ cat foo.c
int foo(void)
{
  return 123;
}

$ gcc foo.c -O2 -g -flto -shared -o libfoo.so

Note that LTO uses artificial debug info symbols for early LTO debug info.

$ readelf -s --wide libfoo.so | grep foo.c
60: 0067 0 NOTYPE  LOCAL  DEFAULT   25 foo.c.cf7807ca

as seen the symbol lives in .debug_info section:

$ readelf -S --wide libfoo.so | grep 25
  [25] .debug_info   PROGBITS 003130 ba 00 
0   0  1

Now let's create a separated debug info and strip the original library:

$ objcopy --only-keep-debug  libfoo.so debug.so
$ strip --strip-debug libfoo.so

$ readelf -s --wide debug.so | grep foo.c
60: 0067 0 NOTYPE  LOCAL  DEFAULT   25 foo.c.cf7807ca

and now we have problem as the original libfoo.so section index 25 points to
something different:

$ readelf -S --wide libfoo.so | grep '\[25\]'
  [25] .strtab   STRTAB   003498 000154 00 
0   0  1

My suggestion would be to strip such symbols. Perf is unhappy about such
symbols as one can easily get out of sections
in the original ELF file.

Original bug report:
https://bugzilla.suse.com/show_bug.cgi?id=1180610

@Mark: Can you please help me with that?

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


[Bug gas/27109] gas: Omit unused STT_SECTION symbols

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

--- Comment #3 from H.J. Lu  ---
Fixed for x86 so far.

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


[Bug gas/27109] gas: Omit unused STT_SECTION symbols

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

--- Comment #2 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=d1bcae833b32f1408485ce69f844dcd7ded093a8

commit d1bcae833b32f1408485ce69f844dcd7ded093a8
Author: H.J. Lu 
Date:   Thu Jan 7 06:42:00 2021 -0800

ELF: Don't generate unused section symbols

For ELF targets, section symbols are required only for relocations.
With -ffunction-sections -fdata-sections, there can be many unused
section symbols.  Sizes of libstdc++.a on Linux/x86-64 in GCC 11 are

With unused section symbols   : 39411698 bytes
Without unused section symbols: 39227002 bytes

The unused section symbols in libstdc++.a occupy more than 180 KB.

Add BSF_SECTION_SYM_USED to indicate if a section symbol should be
included in the symbol table.  The BSF_SECTION_SYM_USED should be set
if the section symbol is used for relocation or the section symbol is
always included in the symbol table.

Add keep_unused_section_symbols to bfd_target to indicate if unused
section symbols should be kept.  If TARGET_KEEP_UNUSED_SECTION_SYMBOLS
is defined as FALSE, unused ection symbols will be removed.

Tested on Linux/x86.  Other ELF backends need to:

1. Define TARGET_KEEP_UNUSED_SECTION_SYMBOLS to FALSE.
2. Mark used section symbols in assembler backend.
3. Remove unused section symbols from expected assembler and linker
outputs.

bfd/

PR 27109
* aix386-core.c (core_aix386_vec): Initialize
keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
* aout-target.h (MY (vec)): Likewise.
* binary.c (binary_vec): Likewise.
* cisco-core.c (core_cisco_be_vec): Likewise.
(core_cisco_le_vec): Likewise.
* coff-alpha.c (alpha_ecoff_le_vec): Likewise.
* coff-i386.c (TARGET_SYM): Likewise.
(TARGET_SYM_BIG): Likewise.
* coff-ia64.c (TARGET_SYM): Likewise.
* coff-mips.c (mips_ecoff_le_vec): Likewise.
(mips_ecoff_be_vec): Likewise.
(mips_ecoff_bele_vec): Likewise.
* coff-rs6000.c (rs6000_xcoff_vec): Likewise.
(powerpc_xcoff_vec): Likewise.
* coff-sh.c (sh_coff_small_vec): Likewise.
(sh_coff_small_le_vec): Likewise.
* coff-tic30.c (tic30_coff_vec): Likewise.
* coff-tic54x.c (tic54x_coff0_vec): Likewise.
(tic54x_coff0_beh_vec): Likewise.
(tic54x_coff1_vec): Likewise.
(tic54x_coff1_beh_vec): Likewise.
(tic54x_coff2_vec): Likewise.
(tic54x_coff2_beh_vec): Likewise.
* coff-x86_64.c (TARGET_SYM): Likewise.
(TARGET_SYM_BIG): Likewise.
* coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
(rs6000_xcoff64_aix_vec): Likewise.
* coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
(CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
(CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
* elfxx-target.h (TARGET_BIG_SYM): Likewise.
(TARGET_LITTLE_SYM): Likewise.
* hppabsd-core.c (core_hppabsd_vec): Likewise.
* hpux-core.c (core_hpux_vec): Likewise.
* i386msdos.c (i386_msdos_vec): Likewise.
* ihex.c (ihex_vec): Likewise.
* irix-core.c (core_irix_vec): Likewise.
* mach-o-target.c (TARGET_NAME): Likewise.
* mmo.c (mmix_mmo_vec): Likewise.
* netbsd-core.c (core_netbsd_vec): Likewise.
* osf-core.c (core_osf_vec): Likewise.
* pdp11.c (MY (vec)): Likewise.
* pef.c (pef_vec): Likewise.
(pef_xlib_vec): Likewise.
* plugin.c (plugin_vec): Likewise.
* ppcboot.c (powerpc_boot_vec): Likewise.
* ptrace-core.c (core_ptrace_vec): Likewise.
* sco5-core.c (core_sco5_vec): Likewise.
* som.c (hppa_som_vec): Likewise.
* srec.c (srec_vec): Likewise.
(symbolsrec_vec): Likewise.
* tekhex.c (tekhex_vec): Likewise.
* trad-core.c (core_trad_vec): Likewise.
* verilog.c (verilog_vec): Likewise.
* vms-alpha.c (alpha_vms_vec): Likewise.
* vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
* wasm-module.c (wasm_vec): Likewise.
* xsym.c (sym_vec): Likewise.
* elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
isn't set.
(elf_map_symbols): Don't include ignored section symbols.
* elfcode.h (elf_slurp_symbol_table): Also set
BSF_SECTION_SYM_USED on STT_SECTION symbols.
* elflink.c (bfd_elf_final_link): Generated section symbols only
when emitting relocations or reqired.
* elfxx-x86.h (TARGET_KEEP_UNUS

[Bug ld/25713] Linker(ld.exe) runs in Windows unable to find file if path length is more than 260 characters.

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

Nick Clifton  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REOPENED|RESOLVED

--- Comment #20 from Nick Clifton  ---
Hi Jaydeep,

  Thanks for checking.  I have now applied the patch.

Cheers
  Nick

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


[Bug ld/25713] Linker(ld.exe) runs in Windows unable to find file if path length is more than 260 characters.

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

--- Comment #19 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=17d60030ae57fb53f5977fa6928d7d5006f42881

commit 17d60030ae57fb53f5977fa6928d7d5006f42881
Author: Nick Clifton 
Date:   Thu Jan 7 12:04:15 2021 +

Fix another path length problem opening files on Win32 systems.

PR 25713
* bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
absolute paths and check to see if they are longer than MAX_PATH.

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