[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/23928] ar crash within LLVMgold.so module
From: |
wl at gnu dot org |
Subject: |
[Bug binutils/23928] ar crash within LLVMgold.so module |
Date: |
Tue, 11 Dec 2018 23:33:43 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23928
--- Comment #5 from Werner Lemberg <wl at gnu dot org> ---
> > I installed all necessary debug symbols; however, the very last call is
> > still shown as `??' in the backtrace (deep in dlopened stuff).
>
> What about the function before the '??'. That will probably give you a
> clue as to where the problem is occurring.
Well, here's the topmost output of `bt full':
#0 0x0000000000010d40 in ?? ()
No symbol table info available.
#1 0x00007ffff7dea1ea in call_init (l=<optimized out>,
address@hidden,
address@hidden,
address@hidden) at
dl-init.c:72
j = <optimized out>
jm = <optimized out>
addrs = <optimized out>
init_array = <optimized out>
j = <optimized out>
jm = <optimized out>
addrs = <optimized out>
#2 0x00007ffff7dea2d3 in call_init (env=0x7fffffffd9e8,
argv=0x7fffffffd9b8,
argc=5,
l=<optimized out>)
at dl-init.c:30
init_array = <optimized out>
init_array = <optimized out>
j = <optimized out>
jm = <optimized out>
addrs = <optimized out>
#3 _dl_init (address@hidden,
argc=5,
argv=0x7fffffffd9b8,
env=0x7fffffffd9e8) at dl-init.c:120
preinit_array = <optimized out>
preinit_array_size = <optimized out>
i = 4
#4 0x00007ffff7dee718 in dl_open_worker (address@hidden) at
dl-open.c:564
args = 0x7fffffffb078
file = <optimized out>
mode = <optimized out>
call_map = <optimized out>
dst = <optimized out>
new = <optimized out>
__PRETTY_FUNCTION__ = "dl_open_worker"
r = <optimized out>
reloc_mode = <optimized out>
nmaps = <optimized out>
l = <optimized out>
maps = <optimized out>
relocation_in_progress = <optimized out>
any_tls = <optimized out>
first_static_tls = <optimized out>
#5 0x00007ffff7dea0a4 in _dl_catch_error
(address@hidden,
address@hidden,
address@hidden,
address@hidden
<dl_open_worker>,
address@hidden) at
dl-error.c:187
errcode = 32767
c = {objname = 0x7fffffffb068,
errstring = 0x7fffffffb070,
malloced = 0x7fffffffb067,
errcode = 0x7fffffffaf54,
env = {{__jmpbuf = {140737488335224, -4992220596282808245,
2147483650, 6396560,
140737488345528, 5, -4992220595683022773,
-4992238454207240117},
__mask_was_saved = -134257408,
__saved_mask = {__val = {4160710744, 0, 140737354097920,
140737354097920, 2,
7, 140737353841376, 140737351926218,
140733193388853,
140737344040720, 140737354097920,
140737488335016,
140737488335012, 0, 5,
140737354097920}}}}}
catchp = 0x7ffff7ffdfa0 <data>
old = <optimized out>
#6 0x00007ffff7dede7b in _dl_open (file=0x619a90
"/usr/bin/../bin/../lib/bfd-plugins/LLVMgold.so",
mode=-2147483646,
caller_dlopen=<optimized out>,
nsid=-2,
argc=5,
argv=0x7fffffffd9b8,
env=0x7fffffffd9e8) at dl-open.c:649
args = {file = 0x619a90
"/usr/bin/../bin/../lib/bfd-plugins/LLVMgold.so",
mode = -2147483646,
caller_dlopen = 0x7ffff78be9af,
caller_dl_open = 0x7ffff70a8eeb <dlopen_doit+91>,
map = 0x621a90,
nsid = 0,
argc = 5,
argv = 0x7fffffffd9b8,
env = 0x7fffffffd9e8}
objname = 0x7ffff765ef10 ""
errstring = 0x7ffff7ff6500 ""
malloced = false
errcode = <optimized out>
__PRETTY_FUNCTION__ = "_dl_open"
[...]
#11 0x00007ffff78be9af in try_load_plugin (pname=<optimized out>,
abfd=0x615530,
has_plugin_p=0x7fffffffb37c) at
../../bfd/plugin.c:228
[...]
The address of function #1 looks very suspicious...
> > What do you recommend to make ar and LLVMgold.so spit out more debugging
> > information?
>
> Recompile them with the -g debugging option enabled. (I am guessing that
> they were compiled without it, at least in the environment that you are
> using).
Uh, oh. This definitely costs too much time, sigh.
> > BTW, what I would like to have for such situations is an option to disable
> > plugins with a command line option, for example `--plugin=""'.
>
> Sadly I do not believe that such an option exists. You can however capture
> the command line being used to invoke the plugin, and then just replay it
> with the plugin options removed.
`Plugin options removed'? How shall this work? As far as I can see,
`ar' automatically uses LLVMgold.so if present – I can't prevent that!
Compiling without plugin support enabled is obviously not helpful in finding
the
bug...
> > Finally, where can I find a description of the differences between
> > `LLVMgold.so' and gcc's `liblto_plugin'? Even a more intensive search in
> > the internet didn't show up anything useful...
>
> I do not think that such a document exists.
Pfft.
> The only real recourse is to read the source code for each of them, and
> compare how they work.
Honestly, I can't believe that I have to do that. Sigh.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug binutils/23928] ar crash within LLVMgold.so module,
wl at gnu dot org <=