[Bug admin/18728] Enable Bugzilla voting
https://sourceware.org/bugzilla/show_bug.cgi?id=18728 Ciro Santilli changed: What|Removed |Added Priority|P2 |P1 Severity|normal |enhancement -- 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 admin/18728] New: Enable Bugzilla voting
https://sourceware.org/bugzilla/show_bug.cgi?id=18728 Bug ID: 18728 Summary: Enable Bugzilla voting Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: admin Assignee: unassigned at sourceware dot org Reporter: ciro.santilli at gmail dot com Target Milestone: --- Not having it is a waste of potential user desire insight :-) No need for the auto-confirm behaviour, nor any extra policy, just keep the score as an indicator. Doc: https://www.bugzilla.org/docs/2.22/html/voting.html Live sample: https://bugzilla.mozilla.org/show_bug.cgi?id=951885 See the `Importance: ... 1 vote (vote)` line 2002 bike-shedding war in Eclipse that ended up enabling it: https://bugs.eclipse.org/bugs/show_bug.cgi?id=12115 -- 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/23869] New: gem5.debug link with -fuse-ld=gold fails with /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943
https://sourceware.org/bugzilla/show_bug.cgi?id=23869 Bug ID: 23869 Summary: gem5.debug link with -fuse-ld=gold fails with /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943 Product: binutils Version: 2.32 (HEAD) Status: UNCONFIRMED Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: ciro.santilli at gmail dot com Target Milestone: --- Reproducible 18.04 amd64 with GCC 7.3.0 and Binutils 2.30 from the repos. Steps to reproduce: git clone https://gem5.googlesource.com/public/gem5 cd gem5 git checkout d4b3e064adeeace3c3e7d106801f95c14637c12f scons -j16 --ignore-style --verbose build/ARM/gem5.debug |& tee build.log Build takes about 10 miutes. Note that this is not cross compiling for ARM, ARM just shows in the command beause this is a system simulator. Now open build.log and find the final link command near the very end, the one that generates the `-o .*gem5.debug` executable. Put that command alone on a shell script file by itself, and add to it: -fuse-ld=gold before the object files, and then the link fails with: /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943 A quick look at the sources shows that the line is: gold_assert(r == 1); in `Eh_frame::read_cie`. Interestingly, if you do the same procedure but on a non-debug build: scons -j16 --verbose build/ARM/gem5.opt |& tee build.log then it works with `-fuse-ld=gold`, and reduces the link time by half, which is awesome. The only difference I can see there is that the build was done with `-O0` (including for object files of course) instead of `-O3`. Modifying the link command to use `g++-8` GCC 8.2.0 from the repos made no difference. Checking file sizes with `If ls -hlrS` shows that in both builds, there is one huge ~1Gb file, and several other much smaller Mb sized files. The large file contains a lot of pybind11 boilerplate, the project is written in C++. The final failing link command looks like this: #!/usr/bin/env bash g++ \ -fuse-ld=gold \ -o \ build/ARM/gem5.debug \ -pthread \ -L/usr/lib/python2.7/config-x86_64-linux-gnu \ -L/usr/lib \ -Xlinker \ -export-dynamic \ -Wl,-O1 \ -Wl,-Bsymbolic-functions \ -O0 \ build/ARM/sim/main.do \ build/ARM/systemc/dt/fx/lib.do.partial \ build/ARM/sim/probe/lib.do.partial \ build/ARM/cpu/testers/traffic_gen/lib.do.partial \ build/ARM/mem/ruby/filters/lib.do.partial \ build/ARM/mem/ruby/slicc_interface/lib.do.partial \ build/ARM/systemc/utils/lib.do.partial \ build/ARM/cpu/testers/memtest/lib.do.partial \ build/ARM/systemc/dt/misc/lib.do.partial \ build/ARM/systemc/dt/int/lib.do.partial \ build/ARM/mem/cache/lib.do.partial \ build/ARM/mem/cache/replacement_policies/lib.do.partial \ build/ARM/mem/ruby/network/simple/lib.do.partial \ build/ARM/sim/lib.do.partial \ build/ARM/mem/ruby/structures/lib.do.partial \ build/ARM/cpu/lib.do.partial \ build/ARM/learning_gem5/part2/lib.do.partial \ build/ARM/systemc/dt/bit/lib.do.partial \ build/ARM/dev/arm/lib.do.partial \ build/ARM/base/lib.do.partial \ build/ARM/kern/lib.do.partial \ build/ARM/base/vnc/lib.do.partial \ build/ARM/sim/power/lib.do.partial \ build/ARM/unittest/lib.do.partial \ build/ARM/mem/probes/lib.do.partial \ build/ARM/cpu/simple/probes/lib.do.partial \ build/ARM/mem/ruby/common/lib.do.partial \ build/ARM/mem/ruby/network/fault_model/lib.do.partial \ build/ARM/mem/cache/tags/indexing_policies/lib.do.partial \ build/ARM/mem/qos/lib.do.partial \ build/ARM/arch/mips/lib.do.partial \ build/ARM/mem/ruby/network/garnet2.0/lib.do.partial \ build/ARM/cpu/pred/lib.do.partial \ build/ARM/mem/ruby/network/lib.do.partial \ build/ARM/dev/net/lib.do.partial \ build/ARM/dev/i2c/lib.do.partial \ build/ARM/mem/cache/prefetch/lib.do.partial \ build/ARM/mem/lib.do.partial \ build/ARM/mem/protocol/lib.do.partial \ build/ARM/dev/pci/lib.do.partial \ build/ARM/cpu/testers/directedtest/lib.do.partial \ build/ARM/dev/ps2/lib.do.partial \ build/ARM/dev/lib.do.partial \ build/ARM/arch/generic/lib.do.partial \ build/ARM/cpu/o3/lib.do.partial \ build/ARM/mem/cache/tags/lib.do.partial \ build/ARM/arch/arm/tracers/lib.do.partial \ build/ARM/dev/serial/lib.do.partial \ build/ARM/cpu/simple/lib.do.partial \ build/ARM/systemc/core/lib.do.partial \ build/ARM/dev/storage/lib.do.partial \ build/ARM/proto/lib.do.partial \ build/ARM/python/lib.do.partial \ build/ARM/systemc/dt/lib.do.partial \ build/ARM/mem/ruby/profiler/lib.do.partial \ build/ARM/cpu/o3/probe/lib.do.partial \ build/ARM/arch/arm/lib.do.partial \ build
[Bug ld/23869] gem5.debug link with -fuse-ld=gold fails with /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943
https://sourceware.org/bugzilla/show_bug.cgi?id=23869 Ciro Santilli changed: What|Removed |Added CC||amodra at gmail dot com, ||ccoutant at gmail dot com, ||ian at airs dot com -- 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/23869] gem5.debug link with -fuse-ld=gold fails with /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943
https://sourceware.org/bugzilla/show_bug.cgi?id=23869 --- Comment #1 from Ciro Santilli --- Ah, the project uses partial linking, I was unknowingly linking the first half with ld and trying the final link with gold, so I'm guessing that's not supported? If not, please feel free to close this ticket. Interesting that it fails only with the debug symbols though. I did the whole build with gold now and it works, and cuts the link time by 4x. You are awesome. -- 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/23869] gem5.debug link with -fuse-ld=gold fails with /usr/bin/ld.gold: internal error in read_cie, at ../../gold/ehframe.cc:943 if partial link is done initially with ld and final link with go
https://sourceware.org/bugzilla/show_bug.cgi?id=23869 Ciro Santilli changed: What|Removed |Added Summary|gem5.debug link with|gem5.debug link with |-fuse-ld=gold fails with|-fuse-ld=gold fails with |/usr/bin/ld.gold: internal |/usr/bin/ld.gold: internal |error in read_cie, at |error in read_cie, at |../../gold/ehframe.cc:943 |../../gold/ehframe.cc:943 ||if partial link is done ||initially with ld and final ||link with gold -- You are receiving this mail because: You are on the CC list for the bug.
[Bug gold/25309] New: Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 Bug ID: 25309 Summary: Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead Product: binutils Version: 2.30 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gold Assignee: ccoutant at gmail dot com Reporter: ciro.santilli at gmail dot com CC: ian at airs dot com Target Milestone: --- I don't have a fully minimized example, but here is a fully reproducible setup within a more or less complex build of a big project: https://github.com/cirosantilli/linux-kernel-module-cheat/issues/109 running in Ubuntu 18.04. The project uses partial linking. The compilation, partial link, and final link commands for one particular file for which the source lines could not be found was as follows. Do you see anything suspicious? compile.tmp.sh ``` g++ \ -o out/gem5/upstream-master/build/ARM/cpu/o3/cpu.do \ -c \ -std=c++11 \ -pipe \ -fno-strict-aliasing \ -Wall \ -Wundef \ -Wextra \ -Wno-sign-compare \ -Wno-unused-parameter \ -Werror \ -Wno-error=deprecated-declarations \ -Wno-error=deprecated \ -pthread \ -fno-builtin-malloc \ -fno-builtin-calloc \ -fno-builtin-realloc \ -fno-builtin-free \ -DPROTOBUF_INLINE_NOT_IN_HEADERS=0 \ -ggdb3 \ -O0 \ -DNUMBER_BITS_PER_SET=64 \ -DDEBUG \ -DTRACING_ON=1 \ -Iext/pybind11/include \ -Iout/gem5/upstream-master/build/drampower/src \ -Iout/gem5/upstream-master/build/nomali/include \ -Iout/gem5/upstream-master/build/iostream3 \ -Iout/gem5/upstream-master/build/libfdt \ -Iout/gem5/upstream-master/build/libelf \ -Iout/gem5/upstream-master/build/fputils/include \ -Iinclude \ -Iext \ -I/usr/include/python2.7 \ -I/usr/include/x86_64-linux-gnu/python2.7 \ -I/usr/include/hdf5/serial \ -Iext/googletest/googletest/include \ -Iext/googletest/googlemock/include \ -Iout/gem5/upstream-master/build/ARM \ -Iout/gem5/upstream-master/build/ARM/systemc/ext \ out/gem5/upstream-master/build/ARM/cpu/o3/cpu.cc ``` intermediate-link.tmp.sh ``` g++ \ -o out/gem5/upstream-master/build/ARM/cpu/o3/lib.do.partial \ -fuse-ld=gold \ -r \ -nostdlib \ -flinker-output=rel \ out/gem5/upstream-master/build/ARM/cpu/o3/base_dyn_inst.do \ out/gem5/upstream-master/build/ARM/cpu/o3/commit.do \ out/gem5/upstream-master/build/ARM/cpu/o3/cpu.do \ out/gem5/upstream-master/build/ARM/cpu/o3/deriv.do \ out/gem5/upstream-master/build/ARM/cpu/o3/decode.do \ out/gem5/upstream-master/build/ARM/cpu/o3/dyn_inst.do \ out/gem5/upstream-master/build/ARM/cpu/o3/fetch.do \ out/gem5/upstream-master/build/ARM/cpu/o3/free_list.do \ out/gem5/upstream-master/build/ARM/cpu/o3/fu_pool.do \ out/gem5/upstream-master/build/ARM/cpu/o3/iew.do \ out/gem5/upstream-master/build/ARM/cpu/o3/inst_queue.do \ out/gem5/upstream-master/build/ARM/cpu/o3/lsq.do \ out/gem5/upstream-master/build/ARM/cpu/o3/lsq_unit.do \ out/gem5/upstream-master/build/ARM/cpu/o3/mem_dep_unit.do \ out/gem5/upstream-master/build/ARM/cpu/o3/regfile.do \ out/gem5/upstream-master/build/ARM/cpu/o3/rename.do \ out/gem5/upstream-master/build/ARM/cpu/o3/rename_map.do \ out/gem5/upstream-master/build/ARM/cpu/o3/rob.do \ out/gem5/upstream-master/build/ARM/cpu/o3/scoreboard.do \ out/gem5/upstream-master/build/ARM/cpu/o3/store_set.do \ out/gem5/upstream-master/build/ARM/cpu/o3/thread_context.do \ out/gem5/upstream-master/build/ARM/cpu/o3/checker.do \ -Lout/gem5/upstream-master/build/drampower \ -Lout/gem5/upstream-master/build/nomali \ -Lout/gem5/upstream-master/build/iostream3 \ -Lout/gem5/upstream-master/build/libfdt \ -Lout/gem5/upstream-master/build/libelf \ -Lout/gem5/upstream-master/build/fputils \ -L/usr/lib/x86_64-linux-gnu/hdf5/serial \ -Lout/gem5/upstream-master/build/googletest ``` link.tmp.sh ``` g++ \ -o out/gem5/upstream-master/build/ARM/gem5.debug \ -fuse-ld=gold \ -pthread \ -L/usr/lib/python2.7/config-x86_64-linux-gnu \ -L/usr/lib \ -Xlinker \ -export-dynamic \ -Wl,-O1 \ -Wl,-Bsymbolic-functions \ -z origin \ -O0 \ out/gem5/upstream-master/build/ARM/sim/main.do \ out/gem5/upstream-master/build/ARM/dev/pci/lib.do.partial \ out/gem5/upstream-master/build/ARM/mem/ruby/network/lib.do.partial \ out/gem5/upstream-master/build/ARM/dev/ps2/lib.do.partial \ out/gem5/upstream-master/build/ARM/cpu/o3/probe/lib.do.partial \ out/gem5/upstream-master/build/ARM/systemc/dt/lib.do.partial \ out/gem5/upstream-master/build/ARM/mem/protocol/lib.do.partial \ out/gem5/upstream-master/build/ARM/kern/lib.do.partial \ out/gem5/upstream-master/build/ARM/cpu/minor/lib.do.partial \ out/gem5/upstream-master/build/ARM/mem/ruby/network/fault_model/lib.do.partial \ out/gem5/upstream-master/build/AR
[Bug gold/25309] Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 Ciro Santilli changed: What|Removed |Added CC||nickc at redhat dot com -- You are receiving this mail because: You are on the CC list for the bug.
[Bug gold/25309] Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 Ciro Santilli changed: What|Removed |Added CC||amodra at gmail dot com -- You are receiving this mail because: You are on the CC list for the bug.
[Bug gold/25309] Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 --- Comment #1 from Ciro Santilli --- Worth mentioning that the point I try to break at is a member method of a C++ template class: ``` template void FullO3CPU::tick() { ``` -- You are receiving this mail because: You are on the CC list for the bug.
[Bug gold/25309] Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 Ciro Santilli changed: What|Removed |Added Version|2.30|2.33 -- You are receiving this mail because: You are on the CC list for the bug.
[Bug gold/25309] Certain source lines when debugging with GDB are not found for an executable using gold linker, but are found if regular ld is used instead
https://sourceware.org/bugzilla/show_bug.cgi?id=25309 --- Comment #2 from Ciro Santilli --- Also reproduced in binutils 2.33 Ubuntu 19.10. I also noticed an instance that was not in a template function, so that is not a requirement to reproduce. -- You are receiving this mail because: You are on the CC list for the bug.