Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jan 2010 15:38:08 +0100 (CET)
From:      Alexander Best <alexbestms@wwu.de>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [patch] extending/completing brandelf's OS knowledge
Message-ID:  <permail-2010012314380880e26a0b00004e17-a_best01@message-id.uni-muenster.de>
In-Reply-To: <20100123133419.GI59590@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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?

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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?permail-2010012314380880e26a0b00004e17-a_best01>