[Bug binutils/27158] New: RISC-V port still has UJ instruction type references
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
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
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
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
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
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
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.
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.
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.