/* -X means treat warnings as errors */
break;
-#ifdef TE_NetBSD
+#if defined (TE_NetBSD) || defined (TE_OpenBSD)
case 'k':
flag_pic = 1;
break;
demand_empty_rest_of_line ();
}
-/* Handle .type. On NetBSD, this is used to set the n_other field,
+/* Handle .type. On {Net,Open}BSD, this is used to set the n_other field,
which is then apparently used when doing dynamic linking. Older
versions ogas ignored the .type pseudo-op, so we also ignore it if
we can't parse it. */
* symbols with no name (stabd's?)
* symbols with debug info in their N_TYPE
- * symbols marked "forceout" (to force out local `L' symbols in NetBSD
- PIC code)
+ * symbols marked "forceout" (to force out local `L' symbols in Net-
+ or OpenBSD PIC code)
Symbols that don't are:
* symbols that are registers
|| S_IS_EXTERNAL (symbolP)
|| (S_GET_NAME (symbolP)[0] != '\001'
&& (flag_keep_locals || !S_LOCAL_NAME (symbolP))
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
|| (flag_pic && symbolP->sy_forceout)
#endif
))
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
&& (!flag_pic || symbolP != GOT_symbol || got_referenced != 0)
#endif
)
else
{
if (S_IS_EXTERNAL (symbolP) || !S_IS_DEFINED (symbolP)
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || TE_OpenBSD)
&& (!flag_pic || symbolP != GOT_symbol || got_referenced != 0)
#endif
)
#define TARGET_BYTES_BIG_ENDIAN 0
#ifdef OBJ_AOUT
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
#define TARGET_FORMAT "a.out-i386-netbsd"
#endif
#ifdef TE_386BSD
#ifdef TE_SUN3
#define TARGET_FORMAT "a.out-sunos-big"
#endif
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
#define TARGET_FORMAT "a.out-m68k-netbsd"
#endif
#ifdef TE_LINUX
#define TARGET_BYTES_BIG_ENDIAN 1
#ifdef OBJ_AOUT
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
#define TARGET_FORMAT "a.out-sparc-netbsd"
#else
#ifdef TE_SPARCAOUT
--- /dev/null
+/* te-obsd.h -- OpenBSD target environment declarations.
+ Copyright (C) 1996 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GAS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#define TE_OpenBSD 1
+
+/* We want [0-9][bf] style local temporary labels. */
+#define LOCAL_LABELS_FB 1
+
+#include "obj-format.h"
--- /dev/null
+/*
+ * This file is te-obsd532.h
+ *
+ * Written by Ian Dall <idall@eleceng.adelaide.edu.au>
+ *
+ * 19-Jun-94
+ *
+ */
+
+#define TARGET_FORMAT "a.out-ns32k-netbsd"
+
+#define LOCAL_LABELS_FB 1
+
+#include "obj-format.h"
+
+/* Maybe these should be more like TC_NS32532 and TC_NS32381 in case
+ * of conflicts. NS32381 is used in opcode/ns32k.h and that is also
+ * used by GDB. Need to check.
+ */
+#define NS32532
+#define NS32381
i386-*-bsd*) fmt=aout em=386bsd ;;
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
- i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
+ i386-*-openbsd*) fmt=aout em=obsd bfd_gas=yes;;
i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
i386-*-linux*coff*) fmt=coff em=linux
targ=i386coff ;;
m68k-*-lynxos*) fmt=coff targ=m68kcoff
em=lynx ;;
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
- m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
+ m68k-*-openbsd*) fmt=aout em=obsd bfd_gas=yes ;;
m68k-apple-aux*) fmt=coff targ=m68kcoff em=aux ;;
m68k-*-psos*) fmt=elf em=psos;;
ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
- ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
+ ns32k-pc532-openbsd*) fmt=aout em=obsd532 ;;
sparc-*-rtems*) fmt=aout ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
fmt=elf ;;
sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
- sparc-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
+ sparc-*-openbsd*) fmt=aout em=obsd bfd_gas=yes ;;
v850-*-*) fmt=elf bfd_gas=yes ;;
typedef struct symbol symbolS;
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined(TE_OpenBSD)
symbolS *GOT_symbol; /* Pre-defined "__GLOBAL_OFFSET_TABLE" */
int got_referenced;
#endif
/* NULL or Symbol whose value we subtract. */
symbolS *fx_subsy;
-#ifdef TE_NetBSD
+#if defined(TE_NetBSD) || defined (TE_OpenBSD)
/* NULL or __GLOBAL_OFFSET_TABLE_ . */
symbolS *fx_gotsy;
#endif