From c0ea06b21fd59edbefa00b05c7fdb2716748e040 Mon Sep 17 00:00:00 2001 From: mrg Date: Sun, 13 Sep 1998 03:50:31 +0000 Subject: [PATCH] remove MD asm as(1) comments from sysident.h, placing them in a comment above the asm() block. now we can share sysident.h across all ports.. change ld.elf_so to be for $MACHINE == sparc64 not sparc (yet!). --- lib/csu/sparc64/sysident.h | 51 ------------------------------------ libexec/ld.elf_so/Makefile | 5 ++-- libexec/ld.elf_so/sysident.h | 37 +++++++++++++++++--------- 3 files changed, 27 insertions(+), 66 deletions(-) delete mode 100644 lib/csu/sparc64/sysident.h diff --git a/lib/csu/sparc64/sysident.h b/lib/csu/sparc64/sysident.h deleted file mode 100644 index 3afa2e639004..000000000000 --- a/lib/csu/sparc64/sysident.h +++ /dev/null @@ -1,51 +0,0 @@ -/* $NetBSD: sysident.h,v 1.1 1998/09/11 03:36:24 eeh Exp $ */ - -/* - * Copyright (c) 1997 Christopher G. Demetriou. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#define __S(x) __STRING(x) -__asm(" - .section \".note.netbsd.ident\", \"a\" - .p2align 2 - - ! NetBSD note: OS version - .long 7 ! name size - .long 4 ! desc size - .long " __S(ELF_NOTE_NETBSD_TYPE_OSVERSION) " ! type - .ascii \"NetBSD\\0\\0\" ! name (padded to % 4 == 0) - .long " __S(NetBSD) " ! desc (padded to % 4 == 0) - - ! NetBSD note: emulation name - .long 7 ! name size - .long 7 ! desc size - .long " __S(ELF_NOTE_NETBSD_TYPE_EMULNAME) " ! type - .ascii \"NetBSD\\0\\0\" ! name (padded to % 4 == 0) - .ascii \"netbsd\\0\\0\" ! desc (padded to % 4 == 0) -"); diff --git a/libexec/ld.elf_so/Makefile b/libexec/ld.elf_so/Makefile index 2b5f92c2a20f..559cf509da6d 100644 --- a/libexec/ld.elf_so/Makefile +++ b/libexec/ld.elf_so/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.15 1998/08/27 01:55:16 tv Exp $ +# $NetBSD: Makefile,v 1.16 1998/09/13 03:50:32 mrg Exp $ .include # for OBJECT_FMT definition @@ -6,7 +6,8 @@ PROG= ld.elf_so .endif -.if (${MACHINE} == "alpha") || (${MACHINE_ARCH} == "mips") || (${MACHINE_ARCH} == "sparc") +.if (${MACHINE} == "alpha") || (${MACHINE_ARCH} == "mips") || \ + (${MACHINE} == "sparc64") # Adds SRCS, CPPFLAGS, LDFLAGS, etc. Must go first so MD startup source # is first. .if exists(${.CURDIR}/${MACHINE_ARCH}/Makefile.inc) diff --git a/libexec/ld.elf_so/sysident.h b/libexec/ld.elf_so/sysident.h index 1908d160e983..956977c6ee75 100644 --- a/libexec/ld.elf_so/sysident.h +++ b/libexec/ld.elf_so/sysident.h @@ -1,4 +1,4 @@ -/* $NetBSD: sysident.h,v 1.1 1997/03/21 05:39:43 cgd Exp $ */ +/* $NetBSD: sysident.h,v 1.2 1998/09/13 03:50:32 mrg Exp $ */ /* * Copyright (c) 1997 Christopher G. Demetriou. All rights reserved. @@ -30,22 +30,33 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* + * Here we define the NetBSD OS Version and emulation name in two + * NetBSD ELF .note sections, which are structured like: + * long name size + * long description size + * long OS type + * string OS name + * string OS description + * these are (not yet!) used by the kernel to determine if this binary + * is really a NetBSD binary, or some other OS's. Note we pad the + * strings as necessary. + */ + #define __S(x) __STRING(x) __asm(" .section \".note.netbsd.ident\", \"a\" .p2align 2 - # NetBSD note: OS version - .long 7 # name size - .long 4 # desc size - .long " __S(ELF_NOTE_NETBSD_TYPE_OSVERSION) " # type - .ascii \"NetBSD\\0\\0\" # name (padded to % 4 == 0) - .long " __S(NetBSD) " # desc (padded to % 4 == 0) + .long 7 + .long 4 + .long " __S(ELF_NOTE_NETBSD_TYPE_OSVERSION) " + .ascii \"NetBSD\\0\\0\" + .long " __S(NetBSD) " - # NetBSD note: emulation name - .long 7 # name size - .long 7 # desc size - .long " __S(ELF_NOTE_NETBSD_TYPE_EMULNAME) " # type - .ascii \"NetBSD\\0\\0\" # name (padded to % 4 == 0) - .ascii \"netbsd\\0\\0\" # desc (padded to % 4 == 0) + .long 7 + .long 7 + .long " __S(ELF_NOTE_NETBSD_TYPE_EMULNAME) " + .ascii \"NetBSD\\0\\0\" + .ascii \"netbsd\\0\\0\" ");