Date: Tue, 9 Feb 2010 13:50:35 GMT From: Alexander Best <alexbestms@wwu.de> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/143699: [patch] extend brandelf's OS knowledge Message-ID: <201002091350.o19DoZf9007386@www.freebsd.org> Resent-Message-ID: <201002091400.o19E08ck013407@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 143699 >Category: bin >Synopsis: [patch] extend brandelf's OS knowledge >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Feb 09 14:00:08 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Alexander Best >Release: 9.0-CURRENT >Organization: >Environment: FreeBSD otaku 9.0-CURRENT FreeBSD 9.0-CURRENT #14 r203556M: Sun Feb 7 16:32:35 CET 2010 root@otaku:/usr/obj/usr/src/sys/ARUNDEL amd64 >Description: this patch adds extra functionality to brandelf so it's able to brand all elf types defined by POSIX.1-2008. the patchset has been discussed in this thread: http://lists.freebsd.org/pipermail/freebsd-hackers/2010-January/030470.html some people liked the idea of brandelf being extended this way, while others disliked the idea due to the fact that freebsd itself isn't able to run any elf binaries apart from FreeBSD(9) Linux(3) Solaris(6) SVR4(0). personally i didn't see the connection between brand'elfing binaries and running them. brandelf's purpose also includes simply branding binaries without running them. think of a bunch of NetBSD/OpenBSD/... files which should be backup'ed under FreeBSD, but are brandelf'ed improperly. in this case the patch would come in handy. cheers. alex >How-To-Repeat: >Fix: Patch attached with submission follows: 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 */ >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002091350.o19DoZf9007386>