[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: thoughts on architectures



On Mon, Feb 11, 2002 at 06:34:14AM +0000, Tony Finch wrote:
> In article <20020211001709.A1325@quic.net> you write:
> >
> >I need to look into it a bit more, and figure out exactly what FreeBSD does
> >and doesn't do with this.
> 
> Everything you need to know is in /usr/src/sys/kern/imgact_elf.c:
> 
> 	/* We support three types of branding -- (1) the ELF EI_OSABI field
> 	 * that SCO added to the ELF spec, (2) FreeBSD 3.x's traditional string
> 	 * branding w/in the ELF header, and (3) path of the `interp_path'
> 	 * field.  We should also look for an ".note.ABI-tag" ELF section now
> 	 * in all Linux ELF binaries, FreeBSD 4.1+, and some NetBSD ones.
> 	 */
> 
> There's a table of the supported ABIs which is scanned when executing an
> ELF binary. On the first scan an ABI is found if either the OSABI field
> matches (number 1 above) or if the second eight bytes of the ELF header
> match (which used to be "FreeBSD" instead of nulls as is usual) (number
> 2 above). On the second scan an ABI is found if the file's .interp
> section matches (number 3 above).

To work correctly with a normal gcc (not hacked like the one in the FreeBSD
sources), it needs to do the .note.ABI-tag check. #3 doesn't work for static
binaries because they don't have an interpreter, which would be why my test
box didn't boot the first time I tried it.

I guess I'll have to see about coding support for .note.ABI-tag sometime.
Think they'd accept a patch for that?



Reply to: