[llvm-commits] [patch] Change how we handle mandatory unwind tables
Rafael Ávila de Espíndola
rafael.espindola at gmail.com
Wed May 25 05:35:16 PDT 2011
>> * clang -c foo.c
>> * clang -c -fno-asynchronous-unwind-table- foo.c
>>
>> While on x86_64 the following two are:
>>
>> * clang -c foo.c
>> * clang -c -fasynchronous-unwind-tables foo.c
>
> that's kind of a pity, since it would be nice if at codegen time (i.e. link
> time) it was possible to specify -f(no)-asynchronous-unwind-tables and have
> this apply to all functions that didn't get an explicit
> -f(no)-asynchronous-unwind-tables when first compiled. If nothing is
> specified at codegen time then the ABI default would be used (currently the
> front-end is injecting this ABI information; is there any reason that
> codegen couldn't do it?).
We could do it. I can think of some reasons why we shouldn't.
First, it is more likely to get used by accident than not with someone
using CFLAGS while linking.
Second, it would be fairly different from how we handle other similar
issues. For example, we don't carry a signed char, unsigned char and a
select at codegen time char.
Last but not least, it would mean that adding LTO could still change the
semantics. With this change the user can select which functions get an
entry in the unwind tables using exactly the same tools he uses when not
doing LTO.
> Ciao, Duncan.
Cheers,
Rafael
More information about the llvm-commits
mailing list