[Bug admin/18728] Enable Bugzilla voting

2015-07-28 Thread ciro.santilli at gmail dot com
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

2015-07-28 Thread ciro.santilli at gmail dot com
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

2018-11-06 Thread ciro.santilli at gmail dot com
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

2018-11-06 Thread ciro.santilli at gmail dot com
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

2018-11-07 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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

2019-12-23 Thread ciro.santilli at gmail dot com
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.