Displaying 20 results from an estimated 200 matches similar to: "Resurrect Bug18710 (Only generate .ARM.exidx and ARM.extab when needed with EHABI)"
2019 Feb 28
3
.ARM.exidx woes
Is it possible to force llvm/clang to not create a .ARM.exidx section for a
bare-metal application that does not use exceptions? I've tried
-fno-exceptions -fno-unwind-tables, but it still generates the section with
all functions marked as 'cantunwind'. As a temporary punt I tried linking
(using lld) with /DISCARD/ on the section, but that seemed to crash lld,
which is another
2019 Mar 01
1
.ARM.exidx woes
Appreciate the response - explanation makes sense. It might be desirable to
have something like '-fno-exceptions -fno-unwind-tables' really kill that
section but I won't push that argument.
As to the lld issue, I was seeing a crash in 6.0.1. This was specifically
just using: "/DISCARD/ : { *(.ARM.exidx*) }". I tried this morning with
7.0.0 and it did not reproduce, so call
2012 Oct 22
0
[LLVMdev] Does someone still keep eye on MC ARM EHABI?
Hello
> My question is, to avoid duplicate effort,
> does someone take charge of this part? or
> does anyone is already implementing this currently?
>
> BTW, any suggestion on this effort? I'm very appreciated!
There are several directions here:
1. Binary emission. Right now MC layer is text-only and depends on assembler
2. Correctness issues. It's believed that unwinding
2012 Oct 22
1
[LLVMdev] Does someone still keep eye on MC ARM EHABI?
Dear Renato and Anton,
Big thanks to your help. Those references are very helpful!
BTW,
After I applying this patch from Logan Chien, I pass some examples on ARM
assembly emission. It seems good to me.
http://llvm.org/bugs/show_bug.cgi?id=7187#attach_9161
For object file emission, The first thing is making MC generate correct
.ARM.exidx and .ARM.extab. I will keep tracing that.
Thanks!
2012 Oct 22
3
[LLVMdev] Does someone still keep eye on MC ARM EHABI?
Dear all,
AFAIK, ARM EHABI is not ready for both asm and obj emitter.
Some people including me what to implement them.
My question is, to avoid duplicate effort,
does someone take charge of this part? or
does anyone is already implementing this currently?
BTW, any suggestion on this effort? I'm very appreciated!
Thanks in advance!
--
Best regards,
Wen-Han Gu (Nowar)
-------------- next
2014 Feb 15
2
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
I'd love to hear more details. Are you saying that this infinite loop
is a limitation of EHABI table format, and not something that can be
fixed in the compiler?
Meanwhile, please notice that gcc behavior matches current clang
behavior that I described above. We would not want to create an
incompatibility.
On Fri, Feb 14, 2014 at 8:42 PM, Logan Chien <tzuhsiang.chien at gmail.com>
2014 Feb 13
2
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
I assume this "CantUnwind table" is not the same as
Unwind table index '.ARM.exidx' at offset 0x818 contains 4 entries:
0x5d4 <main>: 0x1 [cantunwind]
because the latter prevent any unwinding, breaking
debuggers/profilers/sanitizers.
As I understand, the right way to enable basic unwind through any
function (without emitting landing pands etc, unless they are needed
for
2017 Feb 05
2
help me understand how nounwind attribute on functions works?
from http://llvm.org/docs/LangRef.html:
nounwind
> This function attribute indicates that the function never raises an
> exception. If the function does raise an exception, its runtime behavior is
> undefined. However, functions marked nounwind may still trap or generate
> asynchronous exceptions. Exception handling schemes that are recognized by
> LLVM to handle asynchronous
2014 Feb 11
2
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
>> The semantics uwtable is just "make sure it is possible to unwind past
>> this function". It doesn't include anything more,
>> like the ability to run destructors. It is used for ABIs that require
>> it for use in debuggers and profilers.
>
> Well, that meaning fails when you have both uwtable and nounwind,
> which means: "generate a
2014 Feb 13
2
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
On Thu, Feb 13, 2014 at 5:39 PM, Renato Golin <renato.golin at linaro.org> wrote:
> On 13 February 2014 11:35, Evgeniy Stepanov <eugenis at google.com> wrote:
>> Unwind table index '.ARM.exidx' at offset 0x818 contains 4 entries:
>> 0x5d4 <main>: 0x1 [cantunwind]
>
> This is exactly what I meant.
>
>
>> because the latter prevent any
2017 Feb 09
4
help me understand how nounwind attribute on functions works?
> On Feb 8, 2017, at 12:58 PM, Reid Kleckner via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> I think this behavior is intended to allow better LTO between C and C++. Consider this kind of code:
>
> // foo.h
> extern "C" int doThing(bool canThrow);
> // foo.cpp
> int doThing(bool canThrow) {
> ...
> if (hadError) {
> if (canThrow)
2014 Mar 21
2
[LLVMdev] Unwind, exception handling, debuggers and profilers
On 21 March 2014 18:47, Logan Chien <tzuhsiang.chien at gmail.com> wrote:
> * There's the table for ARM target:
>
> - no attribute => emit unwind table
> - with nounwind => emit unwind table with cantunwind
> - with uwtable => emit unwind table
> - with uwtable+nounwind => emit unwind table WITHOUT the cantunwind
>
> The cantunwind record will stop the
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
Hi Peter,
Thanks for your response.
> On 18 Nov 2019, at 17:44, Peter Smith <peter.smith at linaro.org> wrote:
>
> On Mon, 18 Nov 2019 at 12:32, Sergej Jaskiewicz via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> There’s this bug: https://bugs.llvm.org/show_bug.cgi?id=38468
2016 May 21
1
Is there a way to force debug_frame to be enabled on SEH windows?
I'm cross compiling using clang for x86_64 windows using SEH exceptions.
If at all possible, I would like to enable unwind tables to be
generated in debug_frame,
but I was unable to figure out how to accomplish this. Is there a supported way?
Thanks,
Keno
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
> On 18 Nov 2019, at 19:55, Peter Smith <peter.smith at linaro.org> wrote:
>
> On Mon, 18 Nov 2019 at 15:23, Sergej Jaskiewicz <jaskiewiczs at icloud.com <mailto:jaskiewiczs at icloud.com>> wrote:
>>
>> Hi Peter,
>>
>> Thanks for your response.
>>
>> On 18 Nov 2019, at 17:44, Peter Smith <peter.smith at linaro.org> wrote:
2019 Nov 20
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
> On 18 Nov 2019, at 22:11, Peter Smith <peter.smith at linaro.org> wrote:
>
> On Mon, 18 Nov 2019 at 17:06, Sergej Jaskiewicz <jaskiewiczs at icloud.com <mailto:jaskiewiczs at icloud.com>> wrote:
>>
>>
>>
>> On 18 Nov 2019, at 19:55, Peter Smith <peter.smith at linaro.org> wrote:
>>
>> On Mon, 18 Nov 2019 at 15:23, Sergej
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
There’s this bug: https://bugs.llvm.org/show_bug.cgi?id=38468.
I’ve managed to track it down to a configuration issue. The thing is that in order for libunwind to be usable on ARM Linux, it should be built with the -funwind-tables flag. This flag is conditionally set here: https://github.com/llvm/llvm-project/blob/master/libunwind/CMakeLists.txt#L294, if the compiler “supports” it.
However, the
2012 Mar 14
0
[LLVMdev] ARM EHABI support in LLVM + clang
Hi all,
I found some problem when trying to use exception handling with LLVM (SVN revision 152113) + clang combination (SVN revision 152115). I am observing failure in __gnu_unwind_pr_common unwind-arm.c (gcc/config/arm dir in gcc 4.5.3 source). Personality routine 0 is used.
Inside __gnu_unwind_pr_common after "switch (((offset & 1) << 1) | (len & 1))"
2014 Mar 15
2
[LLVMdev] EHABI: Remaining issues
On 15 March 2014 17:06, Logan Chien <tzuhsiang.chien at gmail.com> wrote:
> I would like to know what do you mean by "commoning them up"?
Hi Logan,
That'd be reducing ARM directives in favour of CFI, but as I said (and
you too), GNU compatibility will probably be an issue for a very long
time.
> For the space issue, I personally don't think this is a big issue.
2014 Mar 20
2
[LLVMdev] Unwind, exception handling, debuggers and profilers
On 20 March 2014 02:09, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
> I think this is just 2. It uses .eh_frame for unwinding proper. The
> only difference in .eh_frame is that there is a personality function
> defined.
If there is no debug information, it should still be possible to
unwind the stack via the saved LR on the stack, no?
If there is only line info, you