[patch] extending/completing brandelf's OS knowledge
Kostik Belousov
kostikbel at gmail.com
Sat Jan 23 15:08:22 UTC 2010
On Sat, Jan 23, 2010 at 03:38:08PM +0100, Alexander Best wrote:
> oh. i thought brandelf's purpose was to adjust an executable's OS ABI on a
> general basis. an example would be having solaris executables with the OS ABI
> set to 0. although freebsd won't support running these binaries brandelf could
> be used to correct the OS ABI value which might come in handy if you're using
> freebsd for backup purposes e.g.
>
> or is this purpose covered by a different application in the base dir?
I do not see a need for such rudimentary ELF editor in the base at all.
Ports do have "hacker tools".
After the work of dchagin@/bz@, brandelf is needed only for the corner
cases, if at all.
>
> cheers.
> alex
>
> Kostik Belousov schrieb am 2010-01-23:
> > On Sat, Jan 23, 2010 at 01:07:44PM +0100, Alexander Best wrote:
> > > patch is pretty self explanatory i guess. brandelf should now be
> > > able to
> > > handle all OSes defined in the current SCO elf specs (26.10.2009).
>
> > > cheers.
> > > alex
>
> > > Index: usr.bin/brandelf/brandelf.1
> > > ===================================================================
> > > --- usr.bin/brandelf/brandelf.1 (revision 202848)
> > > +++ usr.bin/brandelf/brandelf.1 (working copy)
> > > @@ -27,7 +27,7 @@
> > > .\"
> > > .\" $FreeBSD$
> > > .\"
> > > -.Dd February 6, 1997
> > > +.Dd January 23, 2010
> > > .Dt BRANDELF 1
> > > .Os
> > > .Sh NAME
> > > @@ -62,10 +62,25 @@
> > > .Ar string
> > > ABI type.
> > > Currently supported ABIs are
> > > +.Dq Li SVR4 ,
> > > +.Dq Li HPUX ,
> > > +.Dq Li NetBSD ,
> > > +.Dq Li Linux ,
> > > +.Dq Li Hurd ,
> > > +.Dq Li 86Open ,
> > > +.Dq Li Solaris ,
> > > +.Dq Li AIX ,
> > > +.Dq Li IRIX ,
> > > .Dq Li FreeBSD ,
> > > -.Dq Li Linux ,
> > > +.Dq Li TRU64 ,
> > > +.Dq Li Modesto ,
> > > +.Dq Li OpenBSD ,
> > > +.Dq Li OpenVMS ,
> > > +.Dq Li HPNSK ,
> > > +.Dq Li AROS ,
> > > +.Dq Li FenixOS
> > > and
> > > -.Dq Li SVR4 .
> > > +.Dq Li ARM .
> > > .It Ar file
> > > If
> > > .Fl t Ar string
> > > @@ -95,7 +110,7 @@
> > > .Rs
> > > .%A The Santa Cruz Operation, Inc.
> > > .%T System V Application Binary Interface
> > > -.%D April 29, 1998 (DRAFT)
> > > +.%D October 26, 2009 (DRAFT)
> > > .%U http://www.sco.com/developer/devspecs/
> > > .Re
> > > .Sh HISTORY
> > > Index: usr.bin/brandelf/brandelf.c
> > > ===================================================================
> > > --- usr.bin/brandelf/brandelf.c (revision 202848)
> > > +++ usr.bin/brandelf/brandelf.c (working copy)
> > > @@ -49,12 +49,25 @@
> > > const char *str;
> > > int value;
> > > };
> > > -/* XXX - any more types? */
> > > static struct ELFtypes elftypes[] = {
> > > - { "FreeBSD", ELFOSABI_FREEBSD },
> > > + { "SVR4", ELFOSABI_NONE },
> > > + { "HPUX", ELFOSABI_HPUX },
> > > + { "NetBSD", ELFOSABI_NETBSD },
> > > { "Linux", ELFOSABI_LINUX },
> > > + { "Hurd", ELFOSABI_HURD },
> > > + { "86Open", ELFOSABI_86OPEN },
> > > { "Solaris", ELFOSABI_SOLARIS },
> > > - { "SVR4", ELFOSABI_SYSV }
> > > + { "AIX", ELFOSABI_AIX },
> > > + { "IRIX", ELFOSABI_IRIX },
> > > + { "FreeBSD", ELFOSABI_FREEBSD },
> > > + { "TRU64", ELFOSABI_TRU64 },
> > > + { "Modesto", ELFOSABI_MODESTO },
> > > + { "OpenBSD", ELFOSABI_OPENBSD },
> > > + { "OpenVMS", ELFOSABI_OPENVMS },
> > > + { "HPNSK", ELFOSABI_NSK },
> > > + { "AROS", ELFOSABI_AROS },
> > > + { "FenixOS", ELFOSABI_FENIXOS },
> > > + { "ARM", ELFOSABI_ARM }
> > > };
>
> > > int
> > > Index: sys/sys/elf_common.h
> > > ===================================================================
> > > --- sys/sys/elf_common.h (revision 202848)
> > > +++ sys/sys/elf_common.h (working copy)
> > > @@ -113,6 +113,7 @@
> > > #define ELFOSABI_OPENVMS 13 /* Open VMS */
> > > #define ELFOSABI_NSK 14 /* HP Non-Stop Kernel
> > > */
> > > #define ELFOSABI_AROS 15 /* Amiga Research OS
> > > */
> > > +#define ELFOSABI_FENIXOS 16 /* FenixOS */
> > > #define ELFOSABI_ARM 97 /* ARM */
> > > #define ELFOSABI_STANDALONE 255 /* Standalone
> > > (embedded) application */
>
>
> > This does not make a sense. brandelf(1) is (was) used as a way to
> > specify
> > hint for the FreeBSD kernel under which ABI emulation the binary
> > should
> > be activated.
>
> > We do not support, and I believe never will, ABIs added in the patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20100123/c1eac8fa/attachment.pgp
More information about the freebsd-hackers
mailing list