[Bug binutils/22219] New: infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)
https://sourceware.org/bugzilla/show_bug.cgi?id=22219 Bug ID: 22219 Summary: infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD) Product: binutils Version: 2.30 (HEAD) Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: luanjunchao at 163 dot com Target Milestone: --- Created attachment 10490 --> https://sourceware.org/bugzilla/attachment.cgi?id=10490&action=edit poc of infinite loop When I run "objdump -x -D -S -s -g -e -G --dwarf -t -T -r -R --special-syms --inlines --dwarf-check loop.elf", it traps into function process_debug_info. Some of the function snippet is here: for (section_begin = start, unit = 0; start < end; unit++) { .. start += compunit.cu_length + initial_length_size; .. } When I debug it with gdb, I can see that compuint.cu_length = 0xfff4 and initial_length_size =12 which leads to start +=0 each loop. Maybe there is an integer overflow here. The poc is attached here. -- 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/22220] New: BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 Bug ID: 0 Summary: BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY Product: binutils Version: 2.28 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: mliska at suse dot cz Target Milestone: --- As mentioned here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172, ld.bfd marks following symbol of libstdc++: $ readelf -s /usr/lib64/gcc/x86_64-suse-linux/7/libstdc++.so --wide | grep _ZNSs4_Rep20_S_empty_rep_storageE 4310: 00388d4032 OBJECT UNIQUE DEFAULT 28 _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 as: grep storage pr82172-2.res 1322 8b73ecc64ca986c5 PREVAILING_DEF_IRONLY _ZNSs4_Rep20_S_empty_rep_storageE Which is wrong because it's a static member of basic_string class and it has many references from libstdc++.so itself. $ ld --version GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.28.0.20170331-2 On the other hand, ld.gold works fine: grep storage pr82172-2.res 1322 2800fe9d29715552 PREVAILING_DEF_IRONLY_EXP _ZNSs4_Rep20_S_empty_rep_storageE I have a small reproducer, which shows difference of ld.gold and ld.bfs (PREVAILING_DEF_IRONLY_EXP vs. PREVAILING_DEF_IRONLY_EXP), hopefully will be useful: $ cat test.h extern int doo(); inline int *goo() { static int xyz; return &xyz; } int *boo(); $ cat lib.c #include "test.h" int* boo() { return goo (); } $ cat main.c #include "test.h" int main() { if (boo() == goo()) __builtin_printf("good: %p\n", goo()); } $ g++ lib.c -shared -fPIC -o libtest.so $ g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res 232 a8edc87dd4d6628a PREVAILING_DEF _ZZ3goovE3xyz Reproducer for the original issue is here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172#c10 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 binutils/17531] readelf crashes on fuzzed samples
https://sourceware.org/bugzilla/show_bug.cgi?id=17531 --- Comment #99 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=6bd6a03d6975a96802b37741a99644570e52a72b commit 6bd6a03d6975a96802b37741a99644570e52a72b Author: Alan Modra Date: Wed Sep 27 15:14:00 2017 +0930 PR22216, infinite loop in readelf process_symbol_table This should make readelf bombproof given a fuzzed DT_HASH. Also removes a bogus check that would have resulted in wrong histograms. PR 22216 * readelf.c (process_symbol_table): Check that DT_HASH symbol chains are only visited once, and report an error if not. Display invalid symbol index if chain is out of range. Use the same logic when calculating histograms rather than the PR 17531 fix. Delete bogus check that chained index is less than number of buckets. -- 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 binutils/22216] infinite loop in readelf process_symbol_table
https://sourceware.org/bugzilla/show_bug.cgi?id=22216 Alan Modra changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC|amodra at gmail dot com| Resolution|--- |FIXED Target Milestone|--- |2.30 Summary|infinite loop in|infinite loop in readelf |process_symbol_table in |process_symbol_table |readelf.c in binutils | |2.30(HEAD) | --- Comment #2 from Alan Modra --- Fixed -- 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 gold/21841] FAIL: debug_msg.sh with GCC 7
https://sourceware.org/bugzilla/show_bug.cgi?id=21841 --- Comment #2 from Romain Geissler --- Created attachment 10491 --> https://sourceware.org/bugzilla/attachment.cgi?id=10491&action=edit Possible workaround in the gold testsuite (not a nice one...) -- 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 binutils/22216] infinite loop in process_symbol_table in readelf.c in binutils 2.30(HEAD)
https://sourceware.org/bugzilla/show_bug.cgi?id=22216 --- Comment #1 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=6bd6a03d6975a96802b37741a99644570e52a72b commit 6bd6a03d6975a96802b37741a99644570e52a72b Author: Alan Modra Date: Wed Sep 27 15:14:00 2017 +0930 PR22216, infinite loop in readelf process_symbol_table This should make readelf bombproof given a fuzzed DT_HASH. Also removes a bogus check that would have resulted in wrong histograms. PR 22216 * readelf.c (process_symbol_table): Check that DT_HASH symbol chains are only visited once, and report an error if not. Display invalid symbol index if chain is out of range. Use the same logic when calculating histograms rather than the PR 17531 fix. Delete bogus check that chained index is less than number of buckets. -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 Alan Modra changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2017-09-27 Assignee|unassigned at sourceware dot org |amodra at gmail dot com Ever confirmed|0 |1 --- Comment #1 from Alan Modra --- This has already been fixed with 2.29. -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #2 from Alan Modra --- Fixed by the patch for pr21382 -- 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 binutils/22219] infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)
https://sourceware.org/bugzilla/show_bug.cgi?id=22219 --- Comment #1 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=19485196044b2521af979f1e5c4a89bfb90fba0b commit 19485196044b2521af979f1e5c4a89bfb90fba0b Author: Nick Clifton Date: Wed Sep 27 10:42:51 2017 +0100 Prevent an infinite loop in the DWARF parsing code when encountering a CU structure with a small negative size. PR 22219 * dwarf.c (process_debug_info): Add a check for a negative cu_length field. -- 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 binutils/22219] infinite loop in process_debug_info in dwarf.c in binutils 2.30(HEAD)
https://sourceware.org/bugzilla/show_bug.cgi?id=22219 Nick Clifton changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||nickc at redhat dot com Resolution|--- |FIXED --- Comment #2 from Nick Clifton --- Hi Skysider, Thanks for reporting this bug. I have checked in a patch to test for negative lengths in the comp_unit structure, which will prevent this infinite loop from happening again. Cheers Nick -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #3 from Martin Liska --- > $ g++ lib.c -shared -fPIC -o libtest.so > $ g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res > 232 a8edc87dd4d6628a PREVAILING_DEF _ZZ3goovE3xyz > I can confirm having this: ld --version GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.29.0.20170830-0 Now I'm given correct result for my small sample: g++ main.c -ltest -L. -flto -O2 --save-temps && grep xyz main.res 232 224d00cabf975876 PREVAILING_DEF_IRONLY_EXP _ZZ3goovE3xyz However I still have problem with the libstdc++ example: $ grep storage pr82172-2.res 1310 caa2dce973a8949f PREVAILING_DEF_IRONLY _ZNSs4_Rep20_S_empty_rep_storageE Can you please test it? -- 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/21382] --as-needed cannot be combined with -flto
https://sourceware.org/bugzilla/show_bug.cgi?id=21382 --- Comment #7 from cvs-commit at gcc dot gnu.org --- The binutils-2_28-branch branch has been updated by Alan Modra : https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b805037cf0061e86b1a71cba26fdaff52a46844d commit b805037cf0061e86b1a71cba26fdaff52a46844d Author: H.J. Lu Date: Thu Apr 20 07:48:24 2017 -0700 Handle symbol defined in IR and referenced in DSO We need to make an IR symbol visible if it is defined in an IR object and referenced in a dynamic object. When --as-needed is used, since linker removes the IR symbol reference of the dynamic object if the dynamic object isn't needed in the first pass, the IR definition isn't visible to the dynamic object even if the dynamic object becomes needed in the second pass. Add dynamic_ref_after_ir_def to bfd_link_hash_entry to track IR symbol which is defined in an IR object and later referenced in a dynamic object. dynamic_ref_after_ir_def is preserved when restoring the symbol table for unneeded dynamic object. bfd/ PR ld/21382 * elflink.c (elf_link_add_object_symbols): Preserve dynamic_ref_after_ir_def when restoring the symbol table for unneeded dynamic object. include/ PR ld/21382 * bfdlink.h (bfd_link_hash_entry): Add dynamic_ref_after_ir_def. ld/ PR ld/21382 * plugin.c (is_visible_from_outside): Symbol may be visible from outside if dynamic_ref_after_ir_def is set. (plugin_notice): Set dynamic_ref_after_ir_def if the symbol is defined in an IR object and referenced in a dynamic object. * testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests. * testsuite/ld-plugin/pr21382a.c: New file. * testsuite/ld-plugin/pr21382b.c: Likewise. (cherry picked from commit 59fa66c53823dc695f78669f40ec2eebab3aec42) -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 Alan Modra changed: What|Removed |Added Version|2.28|2.30 (HEAD) --- Comment #4 from Alan Modra --- Ah, yes the preprocessed file in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172 fails even on binutils master. (My gcc was a little out of date, 8.0.0 20170902, if that matters.) -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #5 from Martin Liska --- (In reply to Alan Modra from comment #4) > Ah, yes the preprocessed file in > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82172 fails even on binutils > master. (My gcc was a little out of date, 8.0.0 20170902, if that matters.) It does not matter, happens even for very ancient releases of GCC. Can you please debug why gold and bfd provide different resolution of the given symbol? -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #6 from Alan Modra --- gold has the following static inline bool is_visible_from_outside(Symbol* lsym) { if (lsym->in_dyn()) return true; if (parameters->options().export_dynamic() || parameters->options().shared() || parameters->options().in_dynamic_list(lsym->name()) || parameters->options().is_export_dynamic_symbol(lsym->name())) return lsym->is_externally_visible(); return false; } while ld.bfd uses static inline bfd_boolean is_visible_from_outside (struct ld_plugin_symbol *lsym, struct bfd_link_hash_entry *blhe) { struct bfd_sym_chain *sym; if (bfd_link_relocatable (&link_info)) return TRUE; if (blhe->non_ir_ref_dynamic || link_info.export_dynamic || bfd_link_dll (&link_info)) { ... What makes a difference here is that gold has is_dyn() true while the roughly equivalent ld.bfd non_ir_ref_dynamic is not set. -- 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 gold/22221] New: add --no-dynamic-linker option
https://sourceware.org/bugzilla/show_bug.cgi?id=1 Bug ID: 1 Summary: add --no-dynamic-linker option Product: binutils Version: 2.30 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gold Assignee: ccoutant at gmail dot com Reporter: markus at trippelsdorf dot de CC: hjl.tools at gmail dot com, ian at airs dot com Target Milestone: --- Now that static-pie is all the rage, it would be nice if the --no-dynamic-linker option could be added to gold. % ld.bfd --help | grep no-dynamic-linker --no-dynamic-linker Produce an executable with no program interpreter header -- 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 gold/22221] add --no-dynamic-linker option
https://sourceware.org/bugzilla/show_bug.cgi?id=1 --- Comment #1 from Markus Trippelsdorf --- So perhaps: diff --git a/gold/layout.cc b/gold/layout.cc index 5f25faea5532..4fe4d6825223 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -2749,7 +2749,8 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, // if we saw a .interp section in an input file. if ((!parameters->options().shared() || parameters->options().dynamic_linker() != NULL) - && this->interp_segment_ == NULL) + && this->interp_segment_ == NULL + && !parameters->options().no_dynamic_linker()) this->create_interp(target); // Finish the .dynamic section to hold the dynamic data, and put diff --git a/gold/options.h b/gold/options.h index 93f81b29afcc..2b660c1e6d79 100644 --- a/gold/options.h +++ b/gold/options.h @@ -1050,6 +1050,9 @@ class General_options N_("Do not page align data, do not make text readonly"), N_("Page align data, make text readonly")); + DEFINE_bool(no_dynamic_linker, options::TWO_DASHES, '\0', false, + N_("Produce an executable with no program interpreter header"), NULL); + DEFINE_bool(no_keep_memory, options::TWO_DASHES, '\0', false, N_("Use less memory and more disk I/O " "(included only for compatibility with GNU ld)"), NULL); -- 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 gold/22221] add --no-dynamic-linker option
https://sourceware.org/bugzilla/show_bug.cgi?id=1 --- Comment #2 from Markus Trippelsdorf --- The following produces an static-pie executable that crashes on startup when it calls __pthread_initialize_minimal(): diff --git a/gold/gold.cc b/gold/gold.cc index a76d155f940a..a2dd31816acc 100644 --- a/gold/gold.cc +++ b/gold/gold.cc @@ -607,13 +607,6 @@ queue_middle_tasks(const General_options& options, (!input_objects->any_dynamic() && !parameters->options().output_is_position_independent()); set_parameters_doing_static_link(doing_static_link); - if (!doing_static_link && options.is_static()) -{ - // We print out just the first .so we see; there may be others. - gold_assert(input_objects->dynobj_begin() != input_objects->dynobj_end()); - gold_error(_("cannot mix -static with dynamic object %s"), -(*input_objects->dynobj_begin())->name().c_str()); -} if (!doing_static_link && parameters->options().relocatable()) gold_fatal(_("cannot mix -r with dynamic object %s"), (*input_objects->dynobj_begin())->name().c_str()); diff --git a/gold/layout.cc b/gold/layout.cc index 5f25faea5532..5c531e470b66 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -2730,7 +2730,8 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, // Create the PT_PHDR segment which will hold the program // headers. - if (!this->script_options_->saw_phdrs_clause()) + if (!this->script_options_->saw_phdrs_clause() + && !parameters->options().no_dynamic_linker()) phdr_seg = this->make_output_segment(elfcpp::PT_PHDR, elfcpp::PF_R); // Create the dynamic symbol table, including the hash table. @@ -2749,7 +2750,8 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, // if we saw a .interp section in an input file. if ((!parameters->options().shared() || parameters->options().dynamic_linker() != NULL) - && this->interp_segment_ == NULL) + && this->interp_segment_ == NULL + && !parameters->options().no_dynamic_linker()) this->create_interp(target); // Finish the .dynamic section to hold the dynamic data, and put diff --git a/gold/options.cc b/gold/options.cc index ed63b6f04feb..15e77d6c2b67 100644 --- a/gold/options.cc +++ b/gold/options.cc @@ -1290,8 +1290,6 @@ General_options::finalize() gold_fatal(_("-shared and -static are incompatible")); if (this->shared() && this->pie()) gold_fatal(_("-shared and -pie are incompatible")); - if (this->pie() && this->is_static()) -gold_fatal(_("-pie and -static are incompatible")); if (this->shared() && this->relocatable()) gold_fatal(_("-shared and -r are incompatible")); diff --git a/gold/options.h b/gold/options.h index 93f81b29afcc..2b660c1e6d79 100644 --- a/gold/options.h +++ b/gold/options.h @@ -1050,6 +1050,9 @@ class General_options N_("Do not page align data, do not make text readonly"), N_("Page align data, make text readonly")); + DEFINE_bool(no_dynamic_linker, options::TWO_DASHES, '\0', false, + N_("Produce an executable with no program interpreter header"), NULL); + DEFINE_bool(no_keep_memory, options::TWO_DASHES, '\0', false, N_("Use less memory and more disk I/O " = ld.bfd: /* Initialize libpthread if linked in. */ if (__pthread_initialize_minimal != NULL) 91d6: 48 83 3d 32 90 09 00cmpq $0x0,0x99032(%rip)# a2210 <__pthread_initialize_minimal> 91dd: 00
[Bug gas/22179] [RISCV] fmv.w.x and fmv.x.w opcodes are not recognised
https://sourceware.org/bugzilla/show_bug.cgi?id=22179 --- Comment #1 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=8e43602e34ba404d82f7c74f6629f01e40c740e0 commit 8e43602e34ba404d82f7c74f6629f01e40c740e0 Author: Nick Clifton Date: Wed Sep 27 16:21:36 2017 +0100 Add support for the new names of the RISC-V fmv.x.s and fmv.s.x instructions, vis: fmv.x.w and fmv.w.x. PR 22179 opcodes * riscv-opc.c (riscv_opcodes): Add fmv.x.w and fmv.w.x as the new names for the fmv.x.s and fmv.s.x instructions respectively. gas * testsuite/gas/riscv/fmv.x.s: New file: Tests the support for the renamed fmv.x.s and fmv.s.x instructions. * testsuite/gas/riscv/fmv.x.d: New file: Test driver. -- 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/22179] [RISCV] fmv.w.x and fmv.x.w opcodes are not recognised
https://sourceware.org/bugzilla/show_bug.cgi?id=22179 Nick Clifton changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||nickc at redhat dot com Resolution|--- |FIXED --- Comment #2 from Nick Clifton --- Hi Alex, Thanks for pointing out this problem. I have checked in a patch to add the new names to the assembler, as well as a new test case to make sure that the new names are generated during disassembly. Cheers Nick -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 H.J. Lu changed: What|Removed |Added CC||hjl.tools at gmail dot com --- Comment #7 from H.J. Lu --- The problem is _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 vs _ZNSs4_Rep20_S_empty_rep_storageE. plugin_notice treats them as 2 different symbols. -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #8 from H.J. Lu --- [hjl@gnu-efi-2 pr0]$ cat lib.v BAR { global: *; }; [hjl@gnu-efi-2 pr0]$ make g++ -B./ -flto -c -o main.o main.cc g++ -B./ -shared -o libtest.so -fPIC lib.c -Wl,--version-script,lib.v g++ -B./ -o x main.o libtest.so -Wl,-R,. # --save-temps -Wl,-plugin-save-temps ./x [hjl@gnu-efi-2 pr0]$ -- 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/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY
https://sourceware.org/bugzilla/show_bug.cgi?id=0 --- Comment #9 from Alan Modra --- > The problem is _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 vs > _ZNSs4_Rep20_S_empty_rep_storageE. Yes, I know what needs to be done, in _bfd_elf_merge_symbol. Last evening I took the sensible course and went to bed rather than working. :) -- 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 gold/22221] add --no-dynamic-linker option
https://sourceware.org/bugzilla/show_bug.cgi?id=1 --- Comment #3 from Cary Coutant --- I'm not sure I understand exactly what this option is for. If "-static -pie" will produce a static-pie executable, wouldn't such an executable already lack a dynamic linker? That's (part of) what -static does. What does the option have to do with the PT_PHDR header and segment? From the name & description, it sounds like it's intended to suppress the PT_INTERP header. If the option is also supposed to suppress the PT_PHDR header, shouldn't we issue a warning or an error if this option is used and we see a PHDRS clause in the linker script? -- 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