[Bug target/83514] New: ABRT in arm_declare_function_name passing a null pointer to std::string
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 20 19:12:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83514
Bug ID: 83514
Summary: ABRT in arm_declare_function_name passing a null
pointer to std::string
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: msebor at gcc dot gnu.org
Target Milestone: ---
I stumbled into this while debugging the ARM cross-compiler. Looks like
back-end assumes targ_options->x_arm_arch_string is non-null, even though when
invoked with just the options below it can be null.
(gdb) r -O2 -Wall -isystem /ssd/build/arm-linux-gnueabi/gcc-git/gcc/include
-quiet /build/tmp/a.c
Starting program: /ssd/build/arm-linux-gnueabi/gcc-git/gcc/cc1 -O2 -Wall
-isystem /ssd/build/arm-linux-gnueabi/gcc-git/gcc/include -quiet /build/tmp/a.c
Program received signal SIGABRT, Aborted.
0x00007ffff688c91f in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff688c91f in raise () from /lib64/libc.so.6
#1 0x00007ffff688e51a in abort () from /lib64/libc.so.6
#2 0x00007ffff71ce52d in __gnu_cxx::__verbose_terminate_handler() () from
/lib64/libstdc++.so.6
#3 0x00007ffff71cc2d6 in ?? () from /lib64/libstdc++.so.6
#4 0x00007ffff71cc321 in std::terminate() () from /lib64/libstdc++.so.6
#5 0x00007ffff71cc539 in __cxa_throw () from /lib64/libstdc++.so.6
#6 0x00007ffff71f5f0f in std::__throw_logic_error(char const*) () from
/lib64/libstdc++.so.6
#7 0x00007ffff7263614 in void std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char
const*, char const*, std::forward_iterator_tag) () from /lib64/libstdc++.so.6
#8 0x00007ffff72637cc in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(char const*,
std::allocator<char> const&) () from /lib64/libstdc++.so.6
#9 0x000000000157c8ab in arm_declare_function_name (stream=0x2a28140,
name=0x7fffefac5f68 "f", decl=0x7fffef94dd00) at
/ssd/src/gcc/git/gcc/config/arm/arm.c:30984
...
(gdb) frame 9
#9 0x000000000157c8ab in arm_declare_function_name (stream=0x2a28140,
name=0x7fffefac5f68 "f", decl=0x7fffef94dd00) at
/ssd/src/gcc/git/gcc/config/arm/arm.c:30984
30984 std::string arch_to_print = targ_options->x_arm_arch_string;
(gdb) p targ_options->x_arm_arch_string
$5 = 0x0
More information about the Gcc-bugs
mailing list