aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1992-08-28 00:08:13 +0000
committerIan Lance Taylor <ian@airs.com>1992-08-28 00:08:13 +0000
commit8e3d11580a618ef60a4581c69d9db5fced2ddd9c (patch)
tree270b7f72c2a84ec5204bf56d14e2a705dbccc1e0 /bfd
parentde0f17d8901e9fa35a53915983d4c422c52681f0 (diff)
downloadgdb-8e3d11580a618ef60a4581c69d9db5fced2ddd9c.zip
gdb-8e3d11580a618ef60a4581c69d9db5fced2ddd9c.tar.gz
gdb-8e3d11580a618ef60a4581c69d9db5fced2ddd9c.tar.bz2
Thu Aug 27 17:01:04 1992 Ian Lance Taylor (ian@cygnus.com)
* targets.c, config/i960-bout.mt, hosts/*: added HOST_BIG_ENDIAN_DEFAULT_VECTOR and HOST_LITTLE_ENDIAN_DEFAULT_VECTOR because bout archive format depends on the endianness of the host. Added #define HOST_BIG_ENDIAN_P and #undef HOST_BIG_ENDIAN_P to a number of configuration files in hosts/ (it was already in some).
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog9
-rw-r--r--bfd/hosts/amix.h2
-rw-r--r--bfd/hosts/apollo68.h2
-rw-r--r--bfd/hosts/apollov68.h2
-rw-r--r--bfd/hosts/decstation.h18
-rw-r--r--bfd/hosts/delta88.h1
-rw-r--r--bfd/hosts/dgux.h2
-rw-r--r--bfd/hosts/dose.h2
-rw-r--r--bfd/hosts/go32.h2
-rw-r--r--bfd/hosts/harris.h3
-rw-r--r--bfd/hosts/hp9000.h2
-rw-r--r--bfd/hosts/hppabsd.h2
-rw-r--r--bfd/hosts/hppahpux.h3
-rw-r--r--bfd/hosts/i386mach.h2
-rw-r--r--bfd/hosts/i386v.h2
-rw-r--r--bfd/hosts/i386v4.h2
-rw-r--r--bfd/hosts/irix3.h2
-rw-r--r--bfd/hosts/irix4.h2
-rw-r--r--bfd/hosts/ncr3000.h2
-rw-r--r--bfd/hosts/news.h43
-rw-r--r--bfd/hosts/rs6000.h2
-rw-r--r--bfd/hosts/rtbsd.h1
-rw-r--r--bfd/hosts/solaris2.h2
-rw-r--r--bfd/hosts/sparc-ll.h2
-rw-r--r--bfd/hosts/sparc.h2
-rw-r--r--bfd/hosts/stratus.h2
-rw-r--r--bfd/hosts/sun3.h1
-rw-r--r--bfd/hosts/ultra3.h2
-rw-r--r--bfd/hosts/we32k.h2
-rw-r--r--bfd/targets.c37
30 files changed, 112 insertions, 46 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f103442..99b5432 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,12 @@
+Thu Aug 27 17:01:04 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * targets.c, config/i960-bout.mt, hosts/*: added
+ HOST_BIG_ENDIAN_DEFAULT_VECTOR and
+ HOST_LITTLE_ENDIAN_DEFAULT_VECTOR because bout archive format
+ depends on the endianness of the host. Added #define
+ HOST_BIG_ENDIAN_P and #undef HOST_BIG_ENDIAN_P to a number of
+ configuration files in hosts/ (it was already in some).
+
Thu Aug 27 13:05:28 1992 Brendan Kehoe (brendan@cygnus.com)
Add preliminary support for the we32k:
diff --git a/bfd/hosts/amix.h b/bfd/hosts/amix.h
index ed0a1db..d73c10e 100644
--- a/bfd/hosts/amix.h
+++ b/bfd/hosts/amix.h
@@ -47,6 +47,8 @@ extern long atol();
extern int fputc();
extern int unlink();
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/apollo68.h b/bfd/hosts/apollo68.h
index ce68846..569cde4 100644
--- a/bfd/hosts/apollo68.h
+++ b/bfd/hosts/apollo68.h
@@ -27,6 +27,8 @@ extern PTR EXFUN(realloc, (PTR, unsigned));
extern void EXFUN( free,(PTR));
#endif
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/apollov68.h b/bfd/hosts/apollov68.h
index 13793ff..1bc3821 100644
--- a/bfd/hosts/apollov68.h
+++ b/bfd/hosts/apollov68.h
@@ -50,6 +50,8 @@ extern PTR EXFUN(realloc, (PTR, unsigned));
extern void EXFUN( free,(PTR));
#endif
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/decstation.h b/bfd/hosts/decstation.h
index 64a5e92..49e945a 100644
--- a/bfd/hosts/decstation.h
+++ b/bfd/hosts/decstation.h
@@ -23,22 +23,10 @@
#define HOST_TEXT_START_ADDR USRTEXT
#define HOST_DATA_START_ADDR USRDATA
#define HOST_STACK_END_ADDR USRSTACK
-/* Macros for the 'type' part of an fopen, freopen or fdopen.
- <Read|Write>[Update]<Binary file><text file>
- */
-#define FOPEN_RB "r"
-#define FOPEN_WB "w"
-#define FOPEN_AB "a"
-#define FOPEN_RUB "r+"
-#define FOPEN_WUB "w+"
-#define FOPEN_AUB "a+"
-#define FOPEN_RT "r"
-#define FOPEN_WT "w"
-#define FOPEN_AT "a"
-#define FOPEN_RUT "r+"
-#define FOPEN_WUT "w+"
-#define FOPEN_AUT "a+"
+#undef HOST_BIG_ENDIAN_P
+
+#include "fopen-same.h"
/* EXACT TYPES */
typedef char int8e_type;
diff --git a/bfd/hosts/delta88.h b/bfd/hosts/delta88.h
index 4337d22..f8d65b9 100644
--- a/bfd/hosts/delta88.h
+++ b/bfd/hosts/delta88.h
@@ -59,6 +59,7 @@ extern char *getenv();
extern int fputc();
extern int unlink();
+#define HOST_BIG_ENDIAN_P
/* EXACT TYPES */
typedef char int8e_type;
diff --git a/bfd/hosts/dgux.h b/bfd/hosts/dgux.h
index 0847982..b89dd83 100644
--- a/bfd/hosts/dgux.h
+++ b/bfd/hosts/dgux.h
@@ -11,6 +11,8 @@
#include <stdio.h>
+#define HOST_BIG_ENDIAN_P
+
#ifndef DONTDECLARE_MALLOC
extern PTR EXFUN(malloc,(unsigned));
extern PTR EXFUN(realloc, (PTR, unsigned));
diff --git a/bfd/hosts/dose.h b/bfd/hosts/dose.h
index 359d15b..1dff45a 100644
--- a/bfd/hosts/dose.h
+++ b/bfd/hosts/dose.h
@@ -12,6 +12,8 @@
#define SEEK_SET 0
#define SEEK_CUR 1
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/go32.h b/bfd/hosts/go32.h
index 92d80bc..43483f9 100644
--- a/bfd/hosts/go32.h
+++ b/bfd/hosts/go32.h
@@ -16,6 +16,8 @@
#define POSIX_UTIME
#define NO_FCNTL
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/harris.h b/bfd/hosts/harris.h
index 274ccbd..e9b1bc8 100644
--- a/bfd/hosts/harris.h
+++ b/bfd/hosts/harris.h
@@ -21,6 +21,9 @@ extern void EXFUN(exit,(int));
extern void EXFUN(bzero,(char *, int));
extern int strtol();
+
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/hp9000.h b/bfd/hosts/hp9000.h
index e1c8bb7..83babcd 100644
--- a/bfd/hosts/hp9000.h
+++ b/bfd/hosts/hp9000.h
@@ -47,6 +47,8 @@ rename(from, to)
# endif
*/
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/hppabsd.h b/bfd/hosts/hppabsd.h
index 4491136..770d7e5 100644
--- a/bfd/hosts/hppabsd.h
+++ b/bfd/hosts/hppabsd.h
@@ -28,6 +28,8 @@ void free();
#define HOST_DATA_START_ADDR UDATASEG
#define HOST_STACK_END_ADDR KSTAKSEG
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/hppahpux.h b/bfd/hosts/hppahpux.h
index 08e0814..e52b6ba 100644
--- a/bfd/hosts/hppahpux.h
+++ b/bfd/hosts/hppahpux.h
@@ -55,6 +55,9 @@ rename(from, to)
# endif
*/
+/* Not sure about this. */
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/i386mach.h b/bfd/hosts/i386mach.h
index 874ead4..13f5572 100644
--- a/bfd/hosts/i386mach.h
+++ b/bfd/hosts/i386mach.h
@@ -28,6 +28,8 @@ extern void EXFUN(free, (PTR));
#define HOST_TEXT_START_ADDR 0x10000 /* By inspection */
#define HOST_STACK_END_ADDR KERNBASE
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/i386v.h b/bfd/hosts/i386v.h
index 328703b..c2a96c1 100644
--- a/bfd/hosts/i386v.h
+++ b/bfd/hosts/i386v.h
@@ -50,6 +50,8 @@
# endif
*/
+#undef HOST_BIG_ENDIAN_P
+
#ifndef DONTDECLARE_MALLOC
extern PTR EXFUN(malloc,(unsigned));
extern PTR EXFUN(realloc, (PTR, unsigned));
diff --git a/bfd/hosts/i386v4.h b/bfd/hosts/i386v4.h
index 7b72059..27def2c 100644
--- a/bfd/hosts/i386v4.h
+++ b/bfd/hosts/i386v4.h
@@ -47,6 +47,8 @@ extern long atol();
extern int fputc();
extern int unlink();
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/irix3.h b/bfd/hosts/irix3.h
index 1ae0a58..d720653 100644
--- a/bfd/hosts/irix3.h
+++ b/bfd/hosts/irix3.h
@@ -22,6 +22,8 @@
#define SEEK_CUR 1
#endif
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/irix4.h b/bfd/hosts/irix4.h
index 1ae0a58..d720653 100644
--- a/bfd/hosts/irix4.h
+++ b/bfd/hosts/irix4.h
@@ -22,6 +22,8 @@
#define SEEK_CUR 1
#endif
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/ncr3000.h b/bfd/hosts/ncr3000.h
index 7b72059..27def2c 100644
--- a/bfd/hosts/ncr3000.h
+++ b/bfd/hosts/ncr3000.h
@@ -47,6 +47,8 @@ extern long atol();
extern int fputc();
extern int unlink();
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/news.h b/bfd/hosts/news.h
index edfdc4d..d42f904 100644
--- a/bfd/hosts/news.h
+++ b/bfd/hosts/news.h
@@ -12,21 +12,19 @@
#define SEEK_SET 0
#define SEEK_CUR 1
-extern PROTO(int, abort,(void));
-extern PROTO(int, close,(int));
-extern PROTO(int, fcntl,(int des, int cmd, int e));
-extern PROTO(int, fprintf,(FILE *,char *,...));
-extern PROTO(int, printf,(char *,...));
-extern PROTO(int, qsort,(void *data,int els, int siz, int func()));
-extern PROTO(int, exit,(int));
-extern PROTO(int, fseek,(FILE*, int, int));
-extern PROTO(int, fclose,(FILE*));
-extern PROTO(void, bcopy,(char*,char*,int));
-extern PROTO(int, bcmp,(char *, char *, int));
-extern PROTO(void, bzero,(char *, int));
-extern char * strchr();
-extern PROTO(void, perror,(CONST char *));
+extern int EXFUN(close,(int));
+extern int EXFUN(fcntl,(int des, int cmd, int e));
+extern int EXFUN(fprintf,(FILE *,char *,...));
+extern int EXFUN(printf,(char *,...));
+extern int EXFUN(qsort,(void *data,int els, int siz, int func()));
+extern int EXFUN(fseek,(FILE*, int, int));
+extern int EXFUN(fclose,(FILE*));
+extern void EXFUN(bcopy,(char*,char*,int));
+extern int EXFUN(bcmp,(char *, char *, int));
+extern void EXFUN(bzero,(char *, int));
+extern void EXFUN(perror,(CONST char *));
extern char *getenv();
+extern char * strchr();
extern char *memchr();
extern char *strrchr();
extern int chmod();
@@ -51,6 +49,7 @@ extern char *getenv();
extern int fputc();
extern int unlink();
+#define HOST_BIG_ENDIAN_P
/* EXACT TYPES */
typedef char int8e_type;
@@ -67,18 +66,4 @@ typedef short int16_type;
typedef unsigned short uint16_type;
typedef int int32_type;
typedef unsigned int uint32_type;
-/* Macros for the 'type' part of an fopen, freopen or fdopen.
- <Read|Write>[Update]<Binary file><text file>
- */
-#define FOPEN_RB "r"
-#define FOPEN_WB "w"
-#define FOPEN_AB "a"
-#define FOPEN_RUB "r+"
-#define FOPEN_WUB "w+"
-#define FOPEN_AUB "a+"
-#define FOPEN_RT "r"
-#define FOPEN_WT "w"
-#define FOPEN_AT "a"
-#define FOPEN_RUT "r+"
-#define FOPEN_WUT "w+"
-#define FOPEN_AUT "a+"
+#include "fopen-same.h"
diff --git a/bfd/hosts/rs6000.h b/bfd/hosts/rs6000.h
index b41ed5f..70f20ad 100644
--- a/bfd/hosts/rs6000.h
+++ b/bfd/hosts/rs6000.h
@@ -17,6 +17,8 @@
#define SEEK_SET 0
#define SEEK_CUR 1
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/rtbsd.h b/bfd/hosts/rtbsd.h
index 071ee04..c071707 100644
--- a/bfd/hosts/rtbsd.h
+++ b/bfd/hosts/rtbsd.h
@@ -17,6 +17,7 @@
extern char *malloc();
extern void free();
+#define HOST_BIG_ENDIAN_P
/* EXACT TYPES */
typedef char int8e_type;
diff --git a/bfd/hosts/solaris2.h b/bfd/hosts/solaris2.h
index b1ec809..03673d6 100644
--- a/bfd/hosts/solaris2.h
+++ b/bfd/hosts/solaris2.h
@@ -2,4 +2,6 @@
#include "hosts/sysv4.h"
+#define HOST_BIG_ENDIAN_P
+
/* That's all... */
diff --git a/bfd/hosts/sparc-ll.h b/bfd/hosts/sparc-ll.h
index 1f7c695..9506551 100644
--- a/bfd/hosts/sparc-ll.h
+++ b/bfd/hosts/sparc-ll.h
@@ -74,6 +74,8 @@ extern int fputc();
extern int unlink();
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/sparc.h b/bfd/hosts/sparc.h
index 3ae9af6..00cf8bf 100644
--- a/bfd/hosts/sparc.h
+++ b/bfd/hosts/sparc.h
@@ -87,6 +87,8 @@ extern int fputc();
extern int unlink();
#endif /* __STDC__ */
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/stratus.h b/bfd/hosts/stratus.h
index dbe7a01..bd0686a 100644
--- a/bfd/hosts/stratus.h
+++ b/bfd/hosts/stratus.h
@@ -47,6 +47,8 @@ extern long atol();
extern int fputc();
extern int unlink();
+#undef HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/sun3.h b/bfd/hosts/sun3.h
index 0c3b495..2b6538d 100644
--- a/bfd/hosts/sun3.h
+++ b/bfd/hosts/sun3.h
@@ -59,6 +59,7 @@ extern char *getenv();
extern int fputc();
extern int unlink();
+#define HOST_BIG_ENDIAN_P
/* EXACT TYPES */
typedef char int8e_type;
diff --git a/bfd/hosts/ultra3.h b/bfd/hosts/ultra3.h
index 17aad5a..1980e77 100644
--- a/bfd/hosts/ultra3.h
+++ b/bfd/hosts/ultra3.h
@@ -17,6 +17,8 @@
extern char *malloc();
extern void free();
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/hosts/we32k.h b/bfd/hosts/we32k.h
index 6de135e..7d69c17 100644
--- a/bfd/hosts/we32k.h
+++ b/bfd/hosts/we32k.h
@@ -24,6 +24,8 @@ extern void EXFUN(bzero,(char *, int));
extern int strtol();
#define NO_STDARG 1
+#define HOST_BIG_ENDIAN_P
+
/* EXACT TYPES */
typedef char int8e_type;
typedef unsigned char uint8e_type;
diff --git a/bfd/targets.c b/bfd/targets.c
index 8cd9fff..49a8196 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -401,10 +401,27 @@ extern bfd_target hppa_vec;
#ifdef DEFAULT_VECTOR
extern bfd_target DEFAULT_VECTOR;
#endif
+#ifdef HOST_BIG_ENDIAN_DEFAULT_VECTOR
+extern bfd_target HOST_BIG_ENDIAN_DEFAULT_VECTOR;
+#endif
+#ifdef HOST_LITTLE_ENDIAN_DEFAULT_VECTOR
+extern bfd_target HOST_LITTLE_ENDIAN_DEFAULT_VECTOR;
+#endif
#ifdef SELECT_VECS
bfd_target *target_vector[] = {
+
+ /* 960 bout format depends on the host, so let targets choose a
+ default vector even if the provide SELECT_VECS. */
+#ifdef HOST_BIG_ENDIAN_DEFAULT_VECTOR
+#ifdef HOST_BIG_ENDIAN_P
+ &HOST_BIG_ENDIAN_DEFAULT_VECTOR,
+#else /* ! defined (HOST_BIG_ENDIAN_P) */
+ &HOST_LITTLE_ENDIAN_DEFAULT_VECTOR,
+#endif /* ! defined (HOST_BIG_ENDIAN_P) */
+#endif /* defined (HOST_BIG_ENDIAN_DEFAULT_VECTOR) */
+
SELECT_VECS,
0
};
@@ -415,7 +432,15 @@ bfd_target *target_vector[] = {
#ifdef DEFAULT_VECTOR
&DEFAULT_VECTOR,
-#endif
+#else /* ! defined (DEFAULT_VECTOR) */
+#ifdef HOST_BIG_ENDIAN_DEFAULT_VECTOR
+#ifdef HOST_BIG_ENDIAN_P
+ &HOST_BIG_ENDIAN_DEFAULT_VECTOR,
+#else /* ! defined (HOST_BIG_ENDIAN_P) */
+ &HOST_LITTLE_ENDIAN_DEFAULT_VECTOR,
+#endif /* ! defined (HOST_BIG_ENDIAN_P) */
+#endif /* defined (HOST_BIG_ENDIAN_DEFAULT_VECTOR) */
+#endif /* ! defined (DEFAULT_VECTOR) */
&i386coff_vec,
&i386aout_vec,
@@ -465,7 +490,15 @@ bfd_target *target_vector[] = {
bfd_target *default_vector[] = {
#ifdef DEFAULT_VECTOR
&DEFAULT_VECTOR,
-#endif
+#else /* ! defined (DEFAULT_VECTOR) */
+#ifdef HOST_BIG_ENDIAN_DEFAULT_VECTOR
+#ifdef HOST_BIG_ENDIAN_P
+ &HOST_BIG_ENDIAN_DEFAULT_VECTOR,
+#else /* ! defined (HOST_BIG_ENDIAN_P) */
+ &HOST_LITTLE_ENDIAN_DEFAULT_VECTOR,
+#endif /* ! defined (HOST_BIG_ENDIAN_P) */
+#endif /* defined (HOST_BIG_ENDIAN_DEFAULT_VECTOR) */
+#endif /* ! defined (DEFAULT_VECTOR) */
0,
};