RFC: Program Properties
Suprateeka R Hegde
hegdesmailbox@gmail.com
Fri Jan 1 00:00:00 GMT 2016
On 13-Oct-2016 05:07 PM, Jose E. Marchesi wrote:
>
> > 1. Minimum ISAs. Executables and shared objects, which are optimized
> > specifically to run on a particular processor, will not run on processors
> > which don't support the same set of ISAs. Since x86 only has EM_IAMCU,
> > EM_386 and EM_X86_64 ELF machine codes, run-time loader needs additional
> > information to tell if an executable or a shared object is compatible
> > with available ISAs.
>
> Why cant the following be defined as processor specific e_flags (like
> other processors do) in elf.h itself?
>
> It is easy to exhaust the space of EF_* flags. In sparc this happened
> many years ago, so we had to start using the tags Tag_GNU_SPARC_HWCAPS
> and Tag_GNU_SPARC_HWCAPS2 to denote hardware capabilities.
Hmm. Looks reasonable. But I still have some points to ponder:
e_flags is processor specific and I thought each processor has its own
space. And e_flags is also 4 byte size (purpose is unsigned integer).
The proposed numbering scheme is already at 17 and 14 more left-shifts
left. It would be same as e_flags capacity.
In addition, we can have arch-version mask just like Intel Itanium,
MIPS, etc. Of course thats slightly expensive but gives more space. And
if we can add asserts in compilers/binutils to check the range of
e_flags to be within the mask, then we can make it efficient too.
Am I missing anything?/
--
Supra
More information about the Gnu-gabi
mailing list