This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
An rs6000 patch for bfd
- To: trix at redhat dot com
- Subject: An rs6000 patch for bfd
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Fri, 25 May 2001 14:30:01 -0700
- Cc: binutils at sourceware dot cygnus dot com
Hi Tom,
Your rs6000 change breaks ppc-linux. I checked in the following patch.
Please double check it.
Thanks.
H.J.
----
2001-05-25 H.J. Lu <hjl@gnu.org>
* coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p,
rs6000coff_core_file_matches_executable_p,
rs6000coff_core_file_failing_command and
rs6000coff_core_file_failing_signal only if AIX_CORE is
defined.
(pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
Index: coff-rs6000.c
===================================================================
RCS file: /work/cvs/gnu/binutils/bfd/coff-rs6000.c,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 coff-rs6000.c
--- coff-rs6000.c 2001/05/25 04:22:40 1.1.1.15
+++ coff-rs6000.c 2001/05/25 21:19:56
@@ -37,10 +37,6 @@ Foundation, Inc., 59 Temple Place - Suit
#include "libcoff.h"
#include "libxcoff.h"
-extern const bfd_target * rs6000coff_core_p ();
-extern boolean rs6000coff_core_file_matches_executable_p ();
-extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd));
-extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd));
extern boolean _bfd_xcoff_mkobject PARAMS ((bfd *));
extern boolean _bfd_xcoff_copy_private_bfd_data PARAMS ((bfd *, bfd *));
extern boolean _bfd_xcoff_is_local_label_name PARAMS ((bfd *, const char *));
@@ -84,7 +80,27 @@ void _bfd_xcoff_rtype2howto PARAMS ((are
#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data
#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name
#define coff_bfd_reloc_type_lookup _bfd_xcoff_reloc_type_lookup
+#ifdef AIX_CORE
+extern const bfd_target * rs6000coff_core_p ();
+extern boolean rs6000coff_core_file_matches_executable_p ();
+extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd));
+extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd));
#define CORE_FILE_P rs6000coff_core_p
+#define coff_core_file_failing_command \
+ rs6000coff_core_file_failing_command
+#define coff_core_file_failing_signal \
+ rs6000coff_core_file_failing_signal
+#define coff_core_file_matches_executable_p \
+ rs6000coff_core_file_matches_executable_p
+#else
+#define CORE_FILE_P _bfd_dummy_target
+#define coff_core_file_failing_command \
+ _bfd_nocore_core_file_failing_command
+#define coff_core_file_failing_signal \
+ _bfd_nocore_core_file_failing_signal
+#define coff_core_file_matches_executable_p \
+ _bfd_nocore_core_file_matches_executable_p
+#endif
#define coff_SWAP_sym_in _bfd_xcoff_swap_sym_in
#define coff_SWAP_sym_out _bfd_xcoff_swap_sym_out
#define coff_SWAP_aux_in _bfd_xcoff_swap_aux_in
@@ -3050,10 +3066,10 @@ const bfd_target rs6000coff_vec =
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
/* Core */
- rs6000coff_core_file_failing_command, /* _core_file_failing_command */
- rs6000coff_core_file_failing_signal, /* _core_file_failing_signal */
+ coff_core_file_failing_command, /* _core_file_failing_command */
+ coff_core_file_failing_signal, /* _core_file_failing_signal */
/* _core_file_matches_executable_p */
- rs6000coff_core_file_matches_executable_p,
+ coff_core_file_matches_executable_p,
/* Archive */
_bfd_xcoff_slurp_armap, /* _slurp_armap */
@@ -3307,10 +3323,10 @@ const bfd_target pmac_xcoff_vec =
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
/* Core */
- rs6000coff_core_file_failing_command, /* _core_file_failing_command */
- rs6000coff_core_file_failing_signal, /* _core_file_failing_signal */
+ coff_core_file_failing_command, /* _core_file_failing_command */
+ coff_core_file_failing_signal, /* _core_file_failing_signal */
/* _core_file_matches_executable_p */
- rs6000coff_core_file_matches_executable_p,
+ coff_core_file_matches_executable_p,
/* Archive */
_bfd_xcoff_slurp_armap, /* _slurp_armap */
Index: coff64-rs6000.c
===================================================================
RCS file: /work/cvs/gnu/binutils/bfd/coff64-rs6000.c,v
retrieving revision 1.1.1.7
diff -u -p -r1.1.1.7 coff64-rs6000.c
--- coff64-rs6000.c 2001/05/25 04:22:41 1.1.1.7
+++ coff64-rs6000.c 2001/05/25 21:19:56
@@ -410,10 +410,6 @@ _bfd_xcoff64_put_ldsymbol_name (abfd, ld
return true;
}
-extern const bfd_target * rs6000coff_core_p ();
-extern boolean rs6000coff_core_file_matches_executable_p ();
-extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd));
-extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd));
extern boolean _bfd_xcoff_mkobject PARAMS ((bfd *));
extern boolean _bfd_xcoff_copy_private_bfd_data PARAMS ((bfd *, bfd *));
extern boolean _bfd_xcoff_is_local_label_name PARAMS ((bfd *, const char *));
@@ -457,7 +453,27 @@ extern unsigned int _bfd_xcoff_swap_aux_
#define coff_bfd_copy_private_bfd_data _bfd_xcoff_copy_private_bfd_data
#define coff_bfd_is_local_label_name _bfd_xcoff_is_local_label_name
#define coff_bfd_reloc_type_lookup xcoff64_reloc_type_lookup
+#ifdef AIX_CORE
+extern const bfd_target * rs6000coff_core_p ();
+extern boolean rs6000coff_core_file_matches_executable_p ();
+extern char *rs6000coff_core_file_failing_command PARAMS ((bfd *abfd));
+extern int rs6000coff_core_file_failing_signal PARAMS ((bfd *abfd));
#define CORE_FILE_P rs6000coff_core_p
+#define coff_core_file_failing_command \
+ rs6000coff_core_file_failing_command
+#define coff_core_file_failing_signal \
+ rs6000coff_core_file_failing_signal
+#define coff_core_file_matches_executable_p \
+ rs6000coff_core_file_matches_executable_p
+#else
+#define CORE_FILE_P _bfd_dummy_target
+#define coff_core_file_failing_command \
+ _bfd_nocore_core_file_failing_command
+#define coff_core_file_failing_signal \
+ _bfd_nocore_core_file_failing_signal
+#define coff_core_file_matches_executable_p \
+ _bfd_nocore_core_file_matches_executable_p
+#endif
#define coff_SWAP_sym_in _bfd_xcoff64_swap_sym_in
#define coff_SWAP_sym_out _bfd_xcoff64_swap_sym_out
#define coff_SWAP_aux_in _bfd_xcoff64_swap_aux_in
@@ -2146,7 +2162,7 @@ const bfd_target rs6000coff64_vec =
_bfd_dummy_target,
coff_object_p,
xcoff64_archive_p,
- rs6000coff_core_p
+ CORE_FILE_P
},
{ /* bfd_set_format */
@@ -2183,10 +2199,10 @@ const bfd_target rs6000coff64_vec =
((boolean (*) (bfd *, void * )) bfd_true), /* _bfd_print_private_bfd_data */
/* Core */
- rs6000coff_core_file_failing_command, /* _core_file_failing_command */
- rs6000coff_core_file_failing_signal, /* _core_file_failing_signal */
+ coff_core_file_failing_command, /* _core_file_failing_command */
+ coff_core_file_failing_signal, /* _core_file_failing_signal */
/* _core_file_matches_executable_p */
- rs6000coff_core_file_matches_executable_p,
+ coff_core_file_matches_executable_p,
/* Archive */
xcoff64_slurp_armap, /* _slurp_armap */