search for: armv6m

Displaying 20 results from an estimated 34 matches for "armv6m".

2017 Nov 26
5
Compilation issue "unsupported relocation on symbol" with clang 3.7.1
...cpu_model.c.o ../projects/compiler-rt/lib/builtins/cpu_model.c:596:7: warning: ISO C requires a translation unit to contain at least one declaration [-Wempty-translation-unit] #endif ^ 1 warning generated. [1786/5024] Building C object projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-armv6m.dir/cpu_model.c.o ../projects/compiler-rt/lib/builtins/cpu_model.c:596:7: warning: ISO C requires a translation unit to contain at least one declaration [-Wempty-translation-unit] #endif ^ 1 warning generated. [1915/5024] Building ASM object projects/compiler-rt/lib/built...s/CMakeFiles/clang_rt.b...
2017 Oct 31
3
Cross compiling for Baremetal ARM without using GCC
...4/bin"/clang -static --target=arm-none-eabi -mcpu=cortex-m0 -c -o a.o a.c "clang+llvm-5.0.0-linux-x86_64-ubuntu16.04/bin"/clang -static --target=arm-none-eabi -mcpu=cortex-m0 -c -o reset.o reset.c "clang+llvm-5.0.0-linux-x86_64-ubuntu16.04/bin"/clang -v -static --target=armv6m-none-eabi -o main main.o a.o reset.o clang version 5.0.0 (tags/RELEASE_500/final) Target: armv6m-none--eabi Thread model: single InstalledDir: clang+llvm-5.0.0-linux-x86_64-ubuntu16.04/bin "clang+llvm-5.0.0-linux-x86_64-ubuntu16.04/bin/ld.lld" main.o a.o reset.o -Bstatic -Lclang+llvm-5.0....
2015 Mar 05
2
[LLVMdev] A question to LLVM for ARMv6
Hi, all I want to use LLVM to compile an ARM Cortex-M0 project on windows. Who can send me a sample, including command arguments and introdution about debug process. Thanks a lot. -Steven ***************************** Legal Disclaimer ***************************** "This email may contain confidential and privileged material for the sole use of the intended recipient. Any unauthorized
2020 Jul 20
2
[ARM] Should Use Load and Store with Register Offset
...in additional instructions to modify the base address. https://godbolt.org/z/T1xhae void* memcpy_alt1(void* dst, const void* src, size_t len) { char* save = (char*)dst; for (size_t i = 0; i < len; ++i) *((char*)(dst + i)) = *((char*)(src + i)); return save; } clang --target=armv6m-none-eabi -Os -fomit-frame-pointer memcpy_alt1: push {r4, lr} cmp r2, #0 beq .LBB0_3 mov r3, r0 .LBB0_2: ldrb r4, [r1] strb r4, [r3] adds r1, r1, #1 adds r3, r3, #1 subs r2, r2, #1 bne...
2013 Oct 12
2
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
On 12 October 2013 23:00, Amara Emerson <amara.emerson at gmail.com> wrote: > Hi Jan, > > For Cortex-M0, you should probably use the armv6m string in the target > triple. For M3 and M4 you need to use the thumbv7m arch string, -mthumb > won't be necessary. > Yes, but I agree with Jim that a bug must be filled. Jan, would you mind filling a bug? http://llvm.org/bugs/enter_bug.cgi?product=clang cheers, --renato ---------...
2015 Jan 10
2
[LLVMdev] LTO support on Mac
Hi, I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. The system linker dumps the following information when I executed "ld -v" @(#)PROGRAM:ld PROJECT:ld64-241.9 configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7m armv7em LTO support using: LLVM version 3.4.2 which tells me that it is correctly pointing to the LLVM that I have built. However, when I pass any LTO command line arguments like "disable-inling" it complains. I was previously working on Linux and the gold plugin makes it very co...
2017 Nov 10
5
[RFC] Enable Partial Inliner by default
...at codeaurora.org>, "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org>, nd <nd at arm.com>, Tobias Grosser <tobias.grosser at inf.ethz.ch> Subject: Re: [llvm-dev] [RFC] Enable Partial Inliner by default Hi Evgeny, When you think the experiments on armv7m and armv6m targets will be complete? We're looking to turn this on sooner rather than later, if there aren't objections from folks running on other platforms. Cheers, Graham Yiu LLVM Compiler Development IBM Toronto Software Lab Office: (905) 413-4077 C2-707/8200/Markham Email: gyiu at ca.ibm.com [...
2017 Nov 10
0
[RFC] Enable Partial Inliner by default
...t codeaurora.org>, "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org>, nd <nd at arm.com>, Tobias Grosser <tobias.grosser at inf.ethz.ch> Subject: Re: [llvm-dev] [RFC] Enable Partial Inliner by default Hi Evgeny, When you think the experiments on armv7m and armv6m targets will be complete? We're looking to turn this on sooner rather than later, if there aren't objections from folks running on other platforms. Cheers, Graham Yiu LLVM Compiler Development IBM Toronto Software Lab Office: (905) 413-4077 C2-707/8200/Markham Email: gyiu at ca.ibm.com I...
2020 Jul 21
2
[ARM] Should Use Load and Store with Register Offset
Hello Sjoerd, Thank you for your response! I was not aware that -Oz is a closer equivalent to GCC's -Os. I tried -Oz when compiling with clang and confirmed that the Clang's generated assembly is equivalent to GCC for the code snippet I posted above. clang --target=armv6m-none-eabi -Oz -fomit-frame-pointer memcpy_alt1: push {r4, lr} movs r3, #0 .LBB0_1: cmp r2, r3 beq .LBB0_3 ldrb r4, [r1, r3] strb r4, [r0, r3] adds r3, r3, #1 b .LBB0_1 .LBB0_3: pop {r4, pc} On...
2015 Jan 12
2
[LLVMdev] LTO support on Mac
...on Mac OS 10.10 and I'm having trouble making LTO work. >> The system linker dumps the following information when I executed "ld -v" >> >> @(#)PROGRAM:ld PROJECT:ld64-241.9 >> configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h >> armv6m armv7m armv7em >> LTO support using: LLVM version 3.4.2 >> >> which tells me that it is correctly pointing to the LLVM that I have built. >> However, when I pass any LTO command line arguments like "disable-inling" it >> complains. >> >> I was p...
2017 Nov 02
13
[RFC] Enable Partial Inliner by default
Forgot to add that all experiments were done with '-O3 -m64 -fexperimental-new-pass-manager'. Graham Yiu LLVM Compiler Development IBM Toronto Software Lab Office: (905) 413-4077 C2-707/8200/Markham Email: gyiu at ca.ibm.com From: Graham Yiu/Toronto/IBM To: llvm-dev at lists.llvm.org Cc: junbuml at codeaurora.org, xinliangli at gmail.com Date: 11/02/2017 05:26 PM Subject: [RFC]
2013 Oct 12
0
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
Hi Jan, For Cortex-M0, you should probably use the armv6m string in the target triple. For M3 and M4 you need to use the thumbv7m arch string, -mthumb won't be necessary. Amara On 11 October 2013 19:23, Jan Hoogerbrugge < jan.hoogerbrugge at biface-tools.com> wrote: > Hi, > > I am trying to cross compile code for ARM Cortex m0, m3,...
2013 Oct 14
0
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
...rday, 12 October 2013, Renato Golin wrote: > On 12 October 2013 23:00, Amara Emerson <amara.emerson at gmail.com<javascript:_e({}, 'cvml', 'amara.emerson at gmail.com');> > > wrote: > >> Hi Jan, >> >> For Cortex-M0, you should probably use the armv6m string in the target >> triple. For M3 and M4 you need to use the thumbv7m arch string, -mthumb >> won't be necessary. >> > > Yes, but I agree with Jim that a bug must be filled. > > Jan, would you mind filling a bug? > > http://llvm.org/bugs/enter_bug.cgi?pr...
2013 Oct 14
1
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
...t through > our submissions process. > > > On Saturday, 12 October 2013, Renato Golin wrote: > >> On 12 October 2013 23:00, Amara Emerson <amara.emerson at gmail.com> wrote: >> >>> Hi Jan, >>> >>> For Cortex-M0, you should probably use the armv6m string in the target >>> triple. For M3 and M4 you need to use the thumbv7m arch string, -mthumb >>> won't be necessary. >>> >> >> Yes, but I agree with Jim that a bug must be filled. >> >> Jan, would you mind filling a bug? >> >> h...
2017 Nov 13
2
[RFC] Enable Partial Inliner by default
...at codeaurora.org>, "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org>, Tobias Grosser <tobias.grosser at inf.ethz.ch>, nd <nd at arm.com> Subject: Re: [llvm-dev] [RFC] Enable Partial Inliner by default Hi Graham, I’ve got results of benchmarking. Armv7m and armv6m are not affected. No changes in scores nor code sizes. I did some additional benchmarks runs for AArch64 and AArch32. LNT test suite, AArch32, Cortex-A57, -O3 -mcpu=cortex-a57 -mthumb -fomit-frame-pointer ---------------------------------------------------------------------------------------------...
2019 Mar 11
2
Compiling for baremetal ARMv4 on Ubuntu Linux
Hello Christian, I reran my script with a similar cmake command to yours. After the build finished the following command from the build directory gave me: find . -name \*builtins.a ./lib/clang/9.0.0/armv6m-none-eabi/lib/libclang_rt.builtins.a ./lib/clang/9.0.0/armv7m-none-eabi/lib/libclang_rt.builtins.a ./lib/clang/9.0.0/armv7em-none-eabi/lib/libclang_rt.builtins.a I hope you see something like this with your build. You can check that they are correct by disassembling them to see if they contain the...
2013 Oct 11
3
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
Hi, I am trying to cross compile code for ARM Cortex m0, m3, and m4. For m0, I use: -target armv6--eabi -mcpu=cortex-m0 That seems to work. For m3 and m4, I use the following which does not work (fatal error: error in backend: CPU: 'cortex-m3' does not support ARM mode): -target armv7m--eabi -mcpu=cortex-m3 and -target armv7em--eabi -mcpu=cortex-m4 Who can help me with the
2020 Mar 29
2
LLD bug causing objcopy ELF to binary generation to create large binaries
Hi LLVM devs,  I came across an LLD bug in v 10.x where ELF parser / processor is setting .PROGBITS attribute for .heap and .stack sections, which leads to large binaries when we do `llvm-objcopy -o binary` to generate the binary output for armv6m. (e.g. for a 57Kb elf would yield a ~400Mb binary). This in comparison with LLVM 7.x , would produce the correct binary size of 35Kb and the elf sections have NOBITS for .heap and .stack sections. I narrowed down the problem to the following commit and the commits around this....Please see be...
2019 Mar 04
2
Compiling for baremetal ARMv4 on Ubuntu Linux
Hello Christian, I'd expect that adding the library paths (-L) from gcc -v should fix the unable to find -lc, -lm but it won't fix the -lclang_rt.builtins-armv6m.a . To get clang_rt.builtins-armv6m.a you will need to cross compile compiler-rt for v6m and copy it to /usr/local/myclang/lib/clang/8.0.0/lib/baremetal . Beware that building compiler-rt for v6m does need quite a bit of fighting cmake (https://llvm.org/docs/HowToCrossCompileBuiltinsOnArm.html). Yo...
2020 Feb 26
2
Cross compiling for ARMv7-m
...s led me to this thread. http://llvm.1065342.n5.nabble.com/llvm-dev-Compiling-for-baremetal-ARMv4-on-Ubuntu-Linux-td124226.html After going through this I figured my best bet would be using GCC sysroot. After which my cmake command looks like this. cmake -G "Unix Makefiles" -DBAREMETAL_ARMV6M_SYSROOT=../../gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/ -DBAREMETAL_ARMV7M_SYSROOT=../../gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/ -DBAREMETAL_ARMV7EM_SYSROOT=../../gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/ -DCMAKE_BUILD_TYPE=Release -C ../clang/cmake/caches/BaremetalARM.cmake...