search for: armv7em

Displaying 20 results from an estimated 20 matches for "armv7em".

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 convenient. Howev...
2013 Oct 11
3
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
...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 right command line arguments for m3 and m4? Thanks, Jan
2015 Jan 12
2
[LLVMdev] LTO support on Mac
...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 worki...
2017 Aug 04
3
Cross compiling C++ program
...e name as the llvm one). > 3C) A c++ standard library. llvm provides this as libcxx. There's also > libstdc++. > > > To start with, I recommend using the cmake cache in: > $clang_src/cmake/caches/BaremetalARM.cmake. You'll want the stuff in it that > references the armv7em-none-eabi triple. To use it, do something like: > > $ cmake -G <build system> > -DBAREMETAL_ARMV7EM_SYSROOT=path/to/your/v7em/sysroot -C > path/to/BaremetalARM.cmake [other CMake Options] > > Assuming your sysroot has libc headers in it, that should get you a clang > tha...
2017 Aug 02
2
Cross compiling C++ program
On Wed, Aug 02, 2017 at 05:48:20PM -0600, Jonathan Roelofs wrote: > I strongly recommend against using the host's headers when cross compiling. > You need to either find or build an arm-none-eabi sysroot, and use the > --sysroot= flag. > > > Jon OK, that's a start. I found https://www.llvm.org/docs/HowToCrossCompileLLVM.html. Is it enough for --sysroot? In case it is,
2018 Aug 31
2
Inline ASM ARM syntax to load immediate values with integrated assembler
Hi, What would be the proper syntax in a C file, using inline assembly, to load a immediate value into an ARM register using clang & integrated assembler? The following syntax is rejected by LLVM: // clang -target armv7em-none-eabi -mthumb #define CONSTANT 0x1234 void __attribute__((naked)) foo(void) { asm volatile ( "ldr r0, =%0 \n" : : "X" (CONSTANT) : "r0" ); } “X” transforms the constan...
2020 Feb 26
2
Cross compiling for ARMv7-m
...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 ../llvm But with this, I am getting this error attached to the email. Is there something I am missing here? Is there any update to the cross-compilation guide? My e...
2017 Aug 05
3
Cross compiling C++ program
...seeding sysroot with: # rm -rf /tmp/barearm-sysroot # mkdir -p /tmp/barearm-sysroot # cp -r musl-1.1.16/include /tmp/barearm-sysroot/ # Thanx for the tip! So I tried to use it, and clang/llvm build, but compiler-rt fails: # cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Release -DBAREMETAL_ARMV7EM_SYSROOT=/tmp/barearm-sysroot -DCMAKE_INSTALL_PREFIX=/tmp/barearm-sysroot -C ../../source/llvm/cmake/caches/BaremetalARM.cmake ../../source/llvm # make -j4 https://gist.github.com/anonymous/85cd5081a6d46a63731d970ee95b20b4 This is the BaremetalARM.cmake: https://gist.github.com/anonymous/ff3248f08d...
2017 Aug 04
3
Cross compiling C++ program
...ard library. llvm provides this as libcxx. There's also >>> libstdc++. >>> >>> >>> To start with, I recommend using the cmake cache in: >>> $clang_src/cmake/caches/BaremetalARM.cmake. You'll want the stuff in it that >>> references the armv7em-none-eabi triple. To use it, do something like: >>> >>> $ cmake -G <build system> >>> -DBAREMETAL_ARMV7EM_SYSROOT=path/to/your/v7em/sysroot -C >>> path/to/BaremetalARM.cmake [other CMake Options] >>> >>> Assuming your sysroot has libc h...
2013 Oct 12
0
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
...-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 right command line arguments for m3 and m4? > > Thanks, > Jan > > > ______________________________**_________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://...
2017 Aug 04
2
Cross compiling C++ program
...y. llvm provides this as libcxx. There's also > > > libstdc++. > > > > > > > > > To start with, I recommend using the cmake cache in: > > > $clang_src/cmake/caches/BaremetalARM.cmake. You'll want the stuff in it that > > > references the armv7em-none-eabi triple. To use it, do something like: > > > > > > $ cmake -G <build system> > > > -DBAREMETAL_ARMV7EM_SYSROOT=path/to/your/v7em/sysroot -C > > > path/to/BaremetalARM.cmake [other CMake Options] > > > > > > Assuming your sysroot...
2018 Sep 25
2
[RFC] New Clang target selection options for ARM/AArch64
Hi Eli, Renato, Thanks for your feedback, there's a lot more to some of these things than I knew. I've addressed your points below. The overall summary is: - Start with converting the TargetParser to tableGen, with no user facing changes - Add warnings based on that, behind -Wall. Starting with command lines, since directives have larger implications that need investigation Thanks,
2020 Jul 22
2
How to debug a missing symbol with ThinLTO?
...com/file/d/11Ngst9FOnVL4fWYlKalzoFXL--B1SaOb/view?usp=sharing> > > My ld version is: > > ➜ ld -v > @(#)PROGRAM:ld PROJECT:ld64-530 > BUILD 18:57:17 Dec 13 2019 > configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em > LTO support using: LLVM version 11.0.0, (clang-1100.0.33.17) (static support for 23, runtime is 23) > TAPI support using: Apple TAPI version 11.0.0 (tapi-1100.0.11) > > Since that said it was using LTO from Xcode I thought that might be the problem - but when I run clang with -v to s...
2017 Feb 26
5
Problems using Clang with LLD on embedded ARM
...arm architecture seems to break linking with LLD. That is, I compile the object files with LTO (either -flto or -flto=thin) and, in addition to specifying `-target arm-none-eabi`, I specify an architecture specific flag (such as -march=armv7e-m, -mcpu=cortex-m4, or -mthumb, or instead I use -target armv7em-none-eabi), then while calling lld to link I get an error like: ld.lld: error: main.o: could not infer e_machine from bitcode target triple thumbv7em-none--eabi LLD 4.0.0 I am working on Linux and these two problems seem to exist on both 4.0rc2 and the current head. I am really happy with the pro...
2020 Jul 22
2
How to debug a missing symbol with ThinLTO?
This is usually a problem that is not using llvm-ar. I cannot reproduce this problem with either llvm 10.0 or TOT version. Which linker version are you using? You can also try pass "-Wl,-debug_snapshot" to the command where the error produces and then locate the "*.ld-snapshot" in /tmp directory and attach that as a reproducer. Steven > On Jul 22, 2020, at 8:41 AM, Teresa
2014 Jun 19
2
[LLVMdev] [PATCH] triples for baremetal
...ormat() == llvm::Triple::MachO) || StringRef(CPUName).startswith("cortex-m")) { ABIName = "aapcs"; @@ -5128,7 +5128,7 @@ if (Str == "x86_64h") T.setArchName(Str); else if (Str == "armv6m" || Str == "armv7m" || Str == "armv7em") { - T.setOS(llvm::Triple::UnknownOS); + T.setOS(llvm::Triple::NoneOS); T.setObjectFormat(llvm::Triple::MachO); } } Index: test/Driver/macho-embedded.c =================================================================== --- test/Driver/macho-embedded.c (revision 211122) +++ tes...
2020 Jul 23
2
How to debug a missing symbol with ThinLTO?
...KalzoFXL--B1SaOb/view?usp=sharing> >> >> My ld version is: >> >> ➜ ld -v >> @(#)PROGRAM:ld PROJECT:ld64-530 >> BUILD 18:57:17 Dec 13 2019 >> configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em >> LTO support using: LLVM version 11.0.0, (clang-1100.0.33.17) (static support for 23, runtime is 23) >> TAPI support using: Apple TAPI version 11.0.0 (tapi-1100.0.11) >> >> Since that said it was using LTO from Xcode I thought that might be the problem - but when I run cl...
2014 Jun 17
4
[LLVMdev] triples for baremetal
[+llvmdev, -llvm-dev] (Oopsies, llvmdev doesn't have a hyphen in it like all the others do) On 6/17/14, 10:45 AM, Jonathan Roelofs wrote: > [+llvm-dev, cfe-dev] > > Was "Re: [PATCH] ARM: allow inline atomics on Cortex M" > > On 6/17/14, 10:42 AM, Jonathan Roelofs wrote: >> >> >> On 6/17/14, 9:35 AM, Renato Golin wrote: >>> On 17 June 2014
2019 Mar 11
2
Compiling for baremetal ARMv4 on Ubuntu Linux
...n 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 instructions that you are looking for. Unfortunately it looks like the runtimes method does not produce the library names th...
2019 Mar 04
2
Compiling for baremetal ARMv4 on Ubuntu Linux
...I've just retried the runtimes way of building for v6m, v7m and v7e-m > . My cmake command was > ARMEABIGCC=/path/to/gcceabi/arm-none-eabi > cmake \ > -G Ninja\ > -DBAREMETAL_ARMV6M_SYSROOT=${ARMEABIGCC}\ > -DBAREMETAL_ARMV7M_SYSROOT=${ARMEABIGCC}\ > -DBAREMETAL_ARMV7EM_SYSROOT=${ARMEABIGCC}\ > -DCMAKE_BUILD_TYPE=Release\ > -C/path/to/llvm/tools/clang/cmake/caches/BaremetalARM.cmake \ > /path/to/llvm > > The cache file requires clang and lld. From the build directory they > will go into lib/clang. That worked for me (TM). Hopefully if yo...