So it is a format, uh, when we cross compile a C code for arm.
Suppose, uh.
Let's see what is the format.
So I have a very simple currency called uh.
What I'll do is cross compare this.
Instead of using this I will use a different tool chain.
So I have a different tool chains available.
I will export the tool chain.
I have generated this tool chain using cross tool and I will use this tool chain.
Uh Jack is a spacy hyphen o to the space.
And now the file of this is.
So this is a elf 32 bit and it is compiled for arm.
So the previously whatever we did was this output.
It is a Elf 64 bit LSB shared object.
But it is saying this an LSB executable.
This was uh previous one was compiled for x86 64.
This is compiled for ARM and it is having a different Abi version, a Abi version one.
This is having version one.
Same thing.
Output is same.
Okay, mostly it is same.
It is also having a build ID.
What is this build you will be seeing in the upcoming videos?
But it is not having any build ID and it is not having it is also having debug info.
This is not having.
This is not having debug info.
So now we can use it.
If you can use f, f and h user space on this one, I will show you the machine is for ARM.
It has a different entry point as compared to the one which we use.
So entry point depends upon again on the hardware which you are compiling.
So this was having an entry point of 1100.
This is having different.
And if you see the start of the program headers is at 52 because this is a 32 bit F.
And how many program headers are there and how many section headers are there.
See this number of parameters are nine and number of section headers are 36.
Coming to x86, number of parameters are 13 and number of section headers are 31.
So this is a difference I mean and this is showing it as an exact executable.
Even it is dynamically linked, it is still showing it as an exec whereas it is showing it as a dynamic
shared library.
So yeah, even for arm we have elf.
Elf is supported for almost all architectures.
And if you see there are some flags also because it is it is using soft float API.
Processor specific flags are also present here.
And the ABA is different here.
It is not using.
It is using the same Unix.
Okay.
Um, they are using the same here, but the flags are different compared here.
There is no flags for x86 64.
Arm is having some flags.