search for: exidx

Displaying 20 results from an estimated 25 matches for "exidx".

2019 Mar 01
1
.ARM.exidx woes
...sponse - 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 it fixed? If you want me to post a reproducible case for 6.0.1, I can. Thanks again, RRM On Fri, Mar 1, 2019 at 5:13 AM Peter Smith <peter.smith at linaro.org> wrote: > Hello Rob, > > I'm not aware...
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 seeme...
2017 Mar 21
4
Resurrect Bug18710 (Only generate .ARM.exidx and ARM.extab when needed with EHABI)
...the best way of posting 2 related or dependent patches ? - I'd like to update and follow on the discussion on bugzilla tracker that Renato created already but I can't edit (account requested to llvm-admin at lists.llvm.org without luck). Could someone help ? So now the proposal: The .exidx and .extab unwind sections are needed, when exceptions are enabled, for unwinding if the function can throw and to hold the EXIDX_CANTUNWIND value if the function does not throw. The problem was already discussed in various threads and defects, so I won't repeat the details but basically t...
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 f...
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
...throw 1; > } > catch(...) > { > std::cout << "Exception is caught\n"; > } > } > > When the exception is thrown via a call to __cxa_throw, what I would > expect is for the unwinder to look up the PC value at the callsite in > the .ARM.exidx table. This should contain information for unwinding > the stack should the exception propagate outside of main. This > propagation of the exception out of main shouldn't go through a > function in libunwind as libunwind should not be in the call stack for > main. This is the case i...
2016 Jun 03
2
[RFC][LLD][ARM] Initial ARM port for LLD
...BL to BLX transformation for function calls between ARM and Thumb. - Thunk generation for B immediate. - Keeping track of which parts are ARM/Thumb. Support for TLS - Add relocation and relaxation support for standard and descriptor based models. Support for C++ exceptions: - Creation of a PT_ARM_EXIDX program header. - Support for the SHF_LINK_ORDER (used by .ARM.exidx). Support for range-extension - Thumb2 BL range is only 16 Mb, conditional branch range is only 1 Mb. Range extension thunks are likely to be needed for large programs. Support for big-endian ARM targets - ARMv6 and above has li...
2019 Nov 20
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
...tch(...) >> { >> std::cout << "Exception is caught\n"; >> } >> } >> >> When the exception is thrown via a call to __cxa_throw, what I would >> expect is for the unwinder to look up the PC value at the callsite in >> the .ARM.exidx table. This should contain information for unwinding >> the stack should the exception propagate outside of main. This >> propagation of the exception out of main shouldn't go through a >> function in libunwind as libunwind should not be in the call stack for >> main. Th...
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
...> >> However, the CMake check fails with the following error: >> >> ``` >> ld.lld: error: undefined symbol: __aeabi_unwind_cpp_pr0 >> >>>>> referenced by src.cxx >> >>>>> CMakeFiles/cmTC_e9739.dir/src.cxx.o:(.ARM.exidx.text.main+0x0) >> >> clang++: error: linker command failed with exit code 1 (use -v to see invocation) >> >> ninja: build stopped: subcommand failed. >> >> Source file was: >> int main() { return 0; } >> ``` >> >> No wonder! __aeabi_un...
2019 Nov 18
2
libunwind is not configured with -funwind-tables when building it for ARM Linux?
.../blob/master/libunwind/CMakeLists.txt#L294, if the compiler “supports” it. However, the CMake check fails with the following error: ``` ld.lld: error: undefined symbol: __aeabi_unwind_cpp_pr0 >>> referenced by src.cxx >>> CMakeFiles/cmTC_e9739.dir/src.cxx.o:(.ARM.exidx.text.main+0x0) clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. Source file was: int main() { return 0; } ``` No wonder! __aeabi_unwind_cpp_pr0 is defined in libunwind itself, which we haven’t built yet. If I instead set...
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?
...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/10/22 Anton Korobeynikov <anton at korobeynikov.info> > Hello > > > My question is, to avoid duplicate effort, > > does someone take charge of this part? or > > does anyone is already implementing this currently...
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 unwinding, breaking >> debuggers/profilers/sanitizers. > > In that case, my argument stands again. > > &...
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
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
2019 Feb 27
14
RFC: Linker feature for automatically partitioning a program into multiple binaries
...pen) define a custom dynamic tag that will cause the dynamic loader to first load the main partition and then the loadable partition at the correct relative address. == In more detail == Each loadable partition will require its own sections to support the dynamic loader and unwinder (namely: .ARM.exidx, .dynamic, .dynstr, .dynsym, .eh_frame_hdr, .gnu.hash, .gnu.version, .gnu.version_r, .hash, .interp, .rela.dyn, .relr.dyn), but will be able to share a GOT and PLT with the main partition. This means that all addresses associated with symbols will continue to be fixed. In order to cause the dynami...
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 Mar 02
2
RFC: Linker feature for automatically partitioning a program into multiple binaries
...>> loader to first load the main partition and then the loadable partition at >> the correct relative address. >> >> == In more detail == >> >> Each loadable partition will require its own sections to support the >> dynamic loader and unwinder (namely: .ARM.exidx, .dynamic, .dynstr, >> .dynsym, .eh_frame_hdr, .gnu.hash, .gnu.version, .gnu.version_r, .hash, >> .interp, .rela.dyn, .relr.dyn), but will be able to share a GOT and PLT >> with the main partition. This means that all addresses associated with >> symbols will continue to be...
2015 Oct 01
4
lld and thread over-subscription
...est lld :: elf/AArch64/initial-exec-tls-0.test lld :: elf/AArch64/rel-prel32-overflow.test lld :: elf/AArch64/rel-prel64.test lld :: elf/AMDGPU/hsa.test lld :: elf/ARM/arm-symbols.test lld :: elf/ARM/dynamic-symbols.test lld :: elf/ARM/entry-point.test lld :: elf/ARM/exidx.test lld :: elf/ARM/header-flags.test lld :: elf/ARM/mapping-code-model.test lld :: elf/ARM/mapping-symbols.test lld :: elf/ARM/missing-symbol.test lld :: elf/ARM/plt-dynamic.test lld :: elf/ARM/plt-ifunc-interwork.test lld :: elf/ARM/plt-ifunc-mapping.test lld :: el...
2015 Oct 01
2
lld and thread over-subscription
...lld :: elf/AArch64/initial-exec-tls-0.test > lld :: elf/AArch64/rel-prel32-overflow.test > lld :: elf/AArch64/rel-prel64.test > lld :: elf/AMDGPU/hsa.test > lld :: elf/ARM/arm-symbols.test > lld :: elf/ARM/dynamic-symbols.test > lld :: elf/ARM/entry-point.test > lld :: elf/ARM/exidx.test > lld :: elf/ARM/header-flags.test > lld :: elf/ARM/mapping-code-model.test > lld :: elf/ARM/mapping-symbols.test > lld :: elf/ARM/missing-symbol.test > lld :: elf/ARM/plt-dynamic.test > lld :: elf/ARM/plt-ifunc-interwork.test > lld :: elf/ARM/plt-ifunc-mapping.test > l...
2015 Oct 03
2
lld and thread over-subscription
...lld :: elf/AArch64/rel-prel32-overflow.test >> lld :: elf/AArch64/rel-prel64.test >> lld :: elf/AMDGPU/hsa.test >> lld :: elf/ARM/arm-symbols.test >> lld :: elf/ARM/dynamic-symbols.test >> lld :: elf/ARM/entry-point.test >> lld :: elf/ARM/exidx.test >> lld :: elf/ARM/header-flags.test >> lld :: elf/ARM/mapping-code-model.test >> lld :: elf/ARM/mapping-symbols.test >> lld :: elf/ARM/missing-symbol.test >> lld :: elf/ARM/plt-dynamic.test >> lld :: elf/ARM/plt-ifunc-interwork.test &...