diff options
Diffstat (limited to 'gnu/usr.bin/binutils/gas/config')
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/obj-aout.c | 12 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-i386.h | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-m68k.h | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-sparc.h | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/te-obsd.h | 25 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/te-obsd532.h | 21 |
6 files changed, 55 insertions, 9 deletions
diff --git a/gnu/usr.bin/binutils/gas/config/obj-aout.c b/gnu/usr.bin/binutils/gas/config/obj-aout.c index 36519d58b54..af780bb6f5c 100644 --- a/gnu/usr.bin/binutils/gas/config/obj-aout.c +++ b/gnu/usr.bin/binutils/gas/config/obj-aout.c @@ -388,7 +388,7 @@ obj_aout_weak (ignore) 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. */ @@ -477,8 +477,8 @@ obj_crawl_symbol_chain (headers) * 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 @@ -497,11 +497,11 @@ obj_crawl_symbol_chain (headers) || 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 ) @@ -523,7 +523,7 @@ obj_crawl_symbol_chain (headers) 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 ) diff --git a/gnu/usr.bin/binutils/gas/config/tc-i386.h b/gnu/usr.bin/binutils/gas/config/tc-i386.h index 9f9cd6d2f9f..b347bc1ce1d 100644 --- a/gnu/usr.bin/binutils/gas/config/tc-i386.h +++ b/gnu/usr.bin/binutils/gas/config/tc-i386.h @@ -62,7 +62,7 @@ #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 diff --git a/gnu/usr.bin/binutils/gas/config/tc-m68k.h b/gnu/usr.bin/binutils/gas/config/tc-m68k.h index 5ae82056137..e9c03874633 100644 --- a/gnu/usr.bin/binutils/gas/config/tc-m68k.h +++ b/gnu/usr.bin/binutils/gas/config/tc-m68k.h @@ -27,7 +27,7 @@ #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 diff --git a/gnu/usr.bin/binutils/gas/config/tc-sparc.h b/gnu/usr.bin/binutils/gas/config/tc-sparc.h index 33574d88db8..356747b3480 100644 --- a/gnu/usr.bin/binutils/gas/config/tc-sparc.h +++ b/gnu/usr.bin/binutils/gas/config/tc-sparc.h @@ -28,7 +28,7 @@ #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 diff --git a/gnu/usr.bin/binutils/gas/config/te-obsd.h b/gnu/usr.bin/binutils/gas/config/te-obsd.h new file mode 100644 index 00000000000..04205ecfd3e --- /dev/null +++ b/gnu/usr.bin/binutils/gas/config/te-obsd.h @@ -0,0 +1,25 @@ +/* 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" diff --git a/gnu/usr.bin/binutils/gas/config/te-obsd532.h b/gnu/usr.bin/binutils/gas/config/te-obsd532.h new file mode 100644 index 00000000000..e85134176ae --- /dev/null +++ b/gnu/usr.bin/binutils/gas/config/te-obsd532.h @@ -0,0 +1,21 @@ +/* + * 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 |