Make SymbolFileCTF::ParseFunctions resilient against not being able to resolve the argument or return type of a function. ResolveTypeUID can fail for a variety of reasons so we should always check its result. The type that caused the crash was `_Bool` which we didn't recognize as a basic type. This commit also fixes the underlying issue and adds a test. rdar://126943722
32 lines
584 B
Makefile
32 lines
584 B
Makefile
C_SOURCES := test.c
|
|
MAKE_DSYM := YES
|
|
|
|
ifeq "$(COMPRESS_CTF)" "YES"
|
|
COMPRESS := -c
|
|
else
|
|
COMPRESS :=
|
|
endif
|
|
|
|
all: a.out a.ctf
|
|
|
|
include Makefile.rules
|
|
|
|
a.ctf: a.out.dSYM
|
|
ctfconvert $(COMPRESS) \
|
|
-l a \
|
|
-o a.ctf \
|
|
a.out.dSYM/Contents/Resources/DWARF/a.out
|
|
$(OBJCOPY) \
|
|
-R __DWARF,__debug_line \
|
|
-R __DWARF,__debug_aranges \
|
|
-R __DWARF,__debug_info \
|
|
-R __DWARF,__debug_abbrev \
|
|
-R __DWARF,__debug_str \
|
|
-R __DWARF,__apple_names \
|
|
-R __DWARF,__apple_namespac \
|
|
-R __DWARF,__apple_types \
|
|
-R __DWARF,__apple_objc \
|
|
a.ctf a.ctf
|
|
rm -rf a.out.dSYM
|
|
rm -rf test.o
|