Questions tagged [eabi]

Relating to ARM, MIPS, PowerPC, etc EABI calling conventions and interoperability. Tag with architecture as well.

ABI stands for Application Binary interface. EABI is for embedded use. The ABI covers calling conventions, data alignments, OS call formats and often language and tool interoperability issues.

In the context of ARM Linux, a system call convention change was made. This is typically an OABI versus EABI.

The ABI effects code generation of compilers and can relate to threading, floating point, stack traces, shared libraries and stack overflows.

See also:

79 questions
2
votes
1 answer

Linker error when compiling ARM demo project

I installed the GNU ARM Embedded Toolchain gcc-arm-none-eabi When I run make on one of the demo projects from https://github.com/ChibiOS/ChibiOS-RT I get this linker error main.c: In function 'Thread1': main.c:36:1: warning: no return statement in…
Q-bertsuit
  • 3,223
  • 6
  • 30
  • 55
2
votes
1 answer

Linking requires to link two static libs that depend on each other: undefined reference

I know, that was already asked a million of times... Unfortunately. But however, I' working on metal builds for ARM Cortex M4 Processors. So there aren't any shared libs, just static ones. When linking my program with gcc, it throws the following…
Genesis Rock
  • 707
  • 2
  • 5
  • 16
2
votes
1 answer

arm-none-eabi-gcc: -march option v/s -mcpu option

I have been following j lynch tutorial from atmel for developing small programms for at91sam7s256 (microcontroller). I have done a bit tinkering and used arm-none-eabi instead of arm-elf (old one). By default i found that gcc compiles assuming…
arka7304
  • 25
  • 1
  • 5
2
votes
0 answers

ARM EABI floatingpoint issue

I have a data-conversion function in our ARM9 code which uses varargs. I've been using an arm-elf yagarto distribution from a couple of years ago, with no problems. Recently, we upgraded to the arm-eabi-none yagarto package from the yagarto…
Santhosh
  • 637
  • 1
  • 7
  • 19
1
vote
0 answers

How to build an EABI shared library the same way that it's built on the o/s

Here's my problem: Trying to debug a C++ program in gdb, but bt won't produce a complete backtrace. It's getting stuck on the Glib shared library, which has been built without any debug info and without -frecord-gcc-switches - this is how it comes…
bloogy
  • 11
  • 1
1
vote
0 answers

the alignment of char array is 4 byte?

tools & platform: gcc-arm-none-eabi-4_9, cotrex-M4F when I declaration const char variables, the alignment of memory map seems likes difference between const char bb and const char bb[1] case A: const char aa = 0; const char bb = 1; const char cc =…
yyd
  • 33
  • 5
1
vote
0 answers

How to write and compile THUMB assembly programs on x86 architecture with qemu?

I am trying to write THUMB assembly code and I want to run it on Linux (x86). I can write ARM assembly and it works fine, but when compiling with the -mthumb option, nothing works. I can't find any tutorial online, so any resources would be…
Leop
  • 11
  • 1
1
vote
1 answer

.size operator in assembly ( stm32 )

My question is about the use of the .size operator in ARM CORTEX M startup files like this startup script. I have read other questions on the .size operator and my understanding is that the following line : .size X,.-X allows to define the size of X…
Sebastien
  • 51
  • 4
1
vote
0 answers

crosstool-ng's LD gives "source object a/b/built-in.o has EABI version 5, but target b/built-in.o has EABI version 0" while compiling the kernel

I just created a gcc11 crosscompiler with crosstool-ng for "arm-unknown-eabi" to compile my kernel (android for msm8974 chipset), but at some point of the linking, the LD gives this error about EABI versions, but the target file doesn't even…
1
vote
2 answers

ARM softfp vs hardfp performance

I have an ARM based platform with a Linux OS. Even though its gcc-based toolchain supports both hardfp and softfp, the vendor recommends using softfp and the platform is shipped with a set of standard and platform-related libraries which have only…
Roman Maltsev
  • 307
  • 1
  • 3
  • 9
1
vote
0 answers

ptrace(PTRACE_SYSCALL) in ARM doesn't work properly

I'm trying to trace system call in ARM(Android armeabi-v7a) using ptrace function(not using ptrace in shell, I mean using ptrace in the code). And below is code what I wrote. int trace(int pid) { struct pt_regs regs; ptrace(PTRACE_SYSCALL,…
hongjo lim
  • 85
  • 7
1
vote
2 answers

64 bit / 64 bit remainder finding algorithm on a 32 bit processor?

I know that similar questions has been asked in the past, but I have implemented after a long process the algorithm to find the quotient correctly using the division by repeated subtraction method. But I am not able to find out the remainder from…
achoora
  • 1,270
  • 1
  • 16
  • 32
1
vote
1 answer

How to run gcov on test application with Nuttx OS on STM discovery board?

Setup: Toolchain: gcc-arm-none-eabi-5_2-2015q4-20151219 Target: STM429i-disco board I want to run gcov and get real time report generated in target as per below…
RRON
  • 1,037
  • 3
  • 12
  • 32
1
vote
1 answer

Makefile linker is unable to link one of the object files

I am doing a project that includes writing a makefile. Here I have 2 different makefiles. The first one does the initial build step. In the second makefile I am trying to use the initially generated object files (paths provided) and add one more…
codelock
  • 11
  • 1
1
vote
0 answers

Inline assembly not working when put inside main()

When I put the following inline assembly in main() it stops directly after printf("before\n"). Apparently there's something wrong with the inline assembly block since printf("after\n") is not printed. Same inline assembly runs perfectly when put in…
JohnnyFromBF
  • 9,873
  • 10
  • 45
  • 59