[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/16417] New: executable linked with gold segfaults before main
From: |
i.zaufi at gmail dot com |
Subject: |
[Bug gold/16417] New: executable linked with gold segfaults before main |
Date: |
Thu, 09 Jan 2014 05:40:50 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=16417
Bug ID: 16417
Summary: executable linked with gold segfaults before main
Product: binutils
Version: 2.24
Status: NEW
Severity: critical
Priority: P2
Component: gold
Assignee: ian at airs dot com
Reporter: i.zaufi at gmail dot com
CC: ccoutant at google dot com
Created attachment 7342
--> https://sourceware.org/bugzilla/attachment.cgi?id=7342&action=edit
output of `cave info`
I'm using gentoo w/ my custom compilation flags. I've found that simple pro
gram
being compiled and linked w/ gold segfaults w/ the following backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff7f2a1e1 in __gthread_once (__func=0x7ffff7f2a180
<std::locale::_S_initialize_once()>, __once=<optimized out>)
at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/build/x86_64-pc-linux-gnu/lib
stdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:699
#2 std::locale::_S_initialize () at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/gcc-4.8.2/libstdc++-v3/src/c+
+98/locale_init.cc:276
#3 0x00007ffff7f2a223 in std::locale::locale (this=0x7ffff7fbffb8
<__gnu_internal::buf_cout_sync+56>)
at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/gcc-4.8.2/libstdc++-v3/src/c+
+98/locale_init.cc:210
#4 0x00007ffff7f2710c in basic_streambuf (this=<optimized out>)
at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/build/x86_64-pc-linux-gnu/lib
stdc++-v3/include/streambuf:466
#5 stdio_sync_filebuf (__f=0x7ffff7dd62a0 <_IO_2_1_stdout_>, this=<opt
imized
out>)
at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/build/x86_64-pc-linux-gnu/lib
stdc++-v3/include/ext/stdio_sync_filebuf.h:77
#6 std::ios_base::Init::Init (this=<optimized out>) at
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/gcc-4.8.2/libstdc++-v3/src/c+
+98/ios_init.cc:85
#7 0x0000000000400dce in __static_initialization_and_destruction_0
(__initialize_p=1, __priority=65535)
at /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/iostream:74
#8 _GLOBAL__sub_I_main () at print_exports.cc:33
#9 0x0000000000400f2d in __libc_csu_init (address@hidden,
address@hidden, envp=0x7fffffffcca8) at elf-init.c:83
#10 0x00007ffff7a55905 in __libc_start_main (main=0x400be0 <main()>, argc
=1,
ubp_av=0x7fffffffcc98, init=0x400ee0 <__libc_csu_init>,
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff
ffffcc88)
at libc-start.c:217
#11 0x0000000000400e11 in _start () at ../sysdeps/x86_64/start.S:123
the source code is:
#include <string>
#include <iostream>
extern char ** environ;
int
main()
{
for (char ** it = environ; nullptr != *it; ++it)
{
std::string str(*it);
std::cout << "export " << str.substr(0, str.find('=')) << std::en
dl;
}
}
compile commands:
x86_64-pc-linux-gnu-g++ -pthread -std=gnu++0x -pedantic -ggdb -O2 -pipe
-march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -floop-
block
-floop-interchange -ftree-loop-distribution -floop-strip-mine -ftree-vector
ize
-fmerge-all-constants -fira-loop-pressure -pedantic -c -o print_exports.o
print_exports.cc
x86_64-pc-linux-gnu-g++ -pthread -std=gnu++0x -pedantic -ggdb -O2 -pipe
-march=native -minline-stringops-dynamically -mtls-dialect=gnu2 -floop-
block
-floop-interchange -ftree-loop-distribution -floop-strip-mine -ftree-vector
ize
-fmerge-all-constants -fira-loop-pressure -pedantic -Wl,-O1 -Wl,--sort-comm
on
-Wl,--enable-new-dtags -Wl,--gc-sections -Wl,--hash-style=gnu -o print_ex
ports
print_exports.o -Wl,--as-needed -pthread -Wl,-fuse-ld=gold
GCC info:
/home/zaufi〉 g++ -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.2/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.8.2/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with:
/storage/tmp/paludis/sys-devel-gcc-4.8.2/work/gcc-4.8.2/configure
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.2
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++
-v4
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.8.2/python
--enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-w
error
--with-system-zlib --disable-nls --enable-checking=release
--with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.8.2
p1.2,
pie-0.5.8' --enable-libstdcxx-time --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-multilib
--with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point
--enable-targets=all --disable-libgcj --enable-libgomp --enable-libmudflap
--disable-libssp --disable-libquadmath --enable-lto --with-cloog
--disable-isl-version-check
Thread model: posix
gcc version 4.8.2 (Gentoo 4.8.2 p1.2, pie-0.5.8)
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gold/16417] New: executable linked with gold segfaults before main,
i.zaufi at gmail dot com <=