https://sourceware.org/bugzilla/show_bug.cgi?id=16085
Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vries at gcc dot gnu.org --- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> --- FWIW, when using -Wl,--debug,all, I run into: ... ld: internal error in thumb_branch_common, at gold/arm.cc:4101 ... which is this assert: ... if (stub_type != arm_stub_none) { Stub_table<big_endian>* stub_table = object->stub_table(relinfo->data_shndx); gold_assert(stub_table != NULL); ... So printing debug info changes the trigger for an assert. I've tracked the difference down to this code: ... // Return true if target wants to perform relaxation. bool may_relax() const { // Run the dummy relaxation pass twice if relaxation debugging is enabled. if (is_debugging_enabled(DEBUG_RELAXATION)) return true; return this->do_may_relax(); } // Perform a relaxation pass. Return true if layout may be changed. bool relax(int pass, const Input_objects* input_objects, Symbol_table* symtab, Layout* layout, const Task* task) { // Run the dummy relaxation pass twice if relaxation debugging is enabled. if (is_debugging_enabled(DEBUG_RELAXATION)) return pass < 2; return this->do_relax(pass, input_objects, symtab, layout, task); } ... I'm a bit surprised that printing debug info by design changes the way the program is run... -- 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