arm64

LLVM ARM64 assembly: Getting a symbol/label address?

我的梦境 提交于 2021-02-17 02:28:07
问题 I am porting some 32-bit ARM code to 64-bit and am having trouble determining the 64-bit version of this instruction: ldr r1, =_fns Where _fns is a symbol defined in some C source file elsewhere in the project. I've tried the below but both give errors: adr x1, _fns <== "error: unknown AArch64 fixup kind!" adrl x1, _fns <== "error: unrecognized instruction mnemonic" The assembler is LLVM in the iOS SDK (XCode 7.1). I've noticed that if _fns is locally defined (i.e. in the same .S file) then

cross-compile for ARM64, understanding make TARGET=aarch64

眉间皱痕 提交于 2021-02-11 15:59:05
问题 I'm trying to cross-compile a library for ARM64, I'm using Ubuntu 18.04 x86_64 host system for a build and the way I'm doing the cross-compile as sudo apt-get update sudo apt-get install crossbuild-essential-arm64 and do the make make -j 4 TARGET=aarch64 wonder what a compiler is invoked? Is it possible to set the latest gcc from ARM? FYI. I'm trying to follow TensorFlow cross-compile for ARM64 and set the latest GNU Toolchain for ARM64. 来源: https://stackoverflow.com/questions/62139412/cross

Understanding ARM relocation (example: str x0, [tmp, #:lo12:zbi_paddr])

左心房为你撑大大i 提交于 2021-02-11 13:21:58
问题 I found this line of assembly in zircon kernel start.S str x0, [tmp, #:lo12:zbi_paddr] for ARM64. I also found that zbi_paddr is defined in C++: extern paddr_t zbi_paddr; So I started looking about what does #:lo12: mean. I found https://stackoverflow.com/a/38608738/6655884 which looks like a great explanation, but it does not explain the very basic: what is a rellocation and why some things are needed. I guess that since zbi_paddrr is defined in start.S and used in C++ code, since start.S

Understanding ARM relocation (example: str x0, [tmp, #:lo12:zbi_paddr])

一个人想着一个人 提交于 2021-02-11 13:21:56
问题 I found this line of assembly in zircon kernel start.S str x0, [tmp, #:lo12:zbi_paddr] for ARM64. I also found that zbi_paddr is defined in C++: extern paddr_t zbi_paddr; So I started looking about what does #:lo12: mean. I found https://stackoverflow.com/a/38608738/6655884 which looks like a great explanation, but it does not explain the very basic: what is a rellocation and why some things are needed. I guess that since zbi_paddrr is defined in start.S and used in C++ code, since start.S

Xcode - ld: symbol(s) not found for architecture arm64

一个人想着一个人 提交于 2021-02-10 15:17:29
问题 I'm trying to compile my app through Xcode, everything has always worked, but suddenly today I return this error that makes the build fail. I attach the complete log of the error. Thanks for your help. Undefined symbols for architecture arm64: "_chkstk_darwin", referenced from: PTArchiveWriter::write(std::1::basic_string<char, std::1::char_traits<char>, std::1::allocator<char> > const&, std::1::basic_istream<char, std::1::char_traits<char> >&, std::1::basic_string<char, std::1::char_traits

Xcode - ld: symbol(s) not found for architecture arm64

元气小坏坏 提交于 2021-02-10 15:15:25
问题 I'm trying to compile my app through Xcode, everything has always worked, but suddenly today I return this error that makes the build fail. I attach the complete log of the error. Thanks for your help. Undefined symbols for architecture arm64: "_chkstk_darwin", referenced from: PTArchiveWriter::write(std::1::basic_string<char, std::1::char_traits<char>, std::1::allocator<char> > const&, std::1::basic_istream<char, std::1::char_traits<char> >&, std::1::basic_string<char, std::1::char_traits

run 32bit elf on aarch64

老子叫甜甜 提交于 2021-02-07 18:17:21
问题 I have installed Debian on qemu 64-bit ARM (followed this tutorial) uname -a Linux test 4.9.0-7-arm64 #1 SMP Debian 4.9.110-1 (2018-07-05) aarch64 GNU/Linux and I am trying to run 32 bit elf files on it, but some work some don't: bash: ./file_2: cannot execute binary file: Exec format error running file command on the file that runs, I get: file_1: ELF 32-bit LSB executable, ARM, EABI4 version 1 (SYSV), statically linked, not stripped and the one that does not run: file_2: ELF 32-bit LSB

run 32bit elf on aarch64

橙三吉。 提交于 2021-02-07 18:16:30
问题 I have installed Debian on qemu 64-bit ARM (followed this tutorial) uname -a Linux test 4.9.0-7-arm64 #1 SMP Debian 4.9.110-1 (2018-07-05) aarch64 GNU/Linux and I am trying to run 32 bit elf files on it, but some work some don't: bash: ./file_2: cannot execute binary file: Exec format error running file command on the file that runs, I get: file_1: ELF 32-bit LSB executable, ARM, EABI4 version 1 (SYSV), statically linked, not stripped and the one that does not run: file_2: ELF 32-bit LSB

Xcode arm64 Vs arm64e

泄露秘密 提交于 2021-02-05 17:52:01
问题 Xcode 10.1 mention Support for arm64e (Preview). Anyone have any idea about arm64e. Any difference between arm64 and arm64e. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc I searched arm64e. But couldn't found proper explanation. 回答1: The arm64e architecture is used on the A12 chipset, which is added in the latest 2018 iPhone models (XS/XS Max/XR). The code compiles to ARMv8.3, which brings support for new features. Namely: Pointer

Xcode arm64 Vs arm64e

怎甘沉沦 提交于 2021-02-05 17:50:54
问题 Xcode 10.1 mention Support for arm64e (Preview). Anyone have any idea about arm64e. Any difference between arm64 and arm64e. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc I searched arm64e. But couldn't found proper explanation. 回答1: The arm64e architecture is used on the A12 chipset, which is added in the latest 2018 iPhone models (XS/XS Max/XR). The code compiles to ARMv8.3, which brings support for new features. Namely: Pointer