This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: An rs6000 patch for bfd


This looks ok with me, aix 4.3.3 builds...  

Fixes undefined core functions.

Tom

"H . J . Lu" wrote:
> 
> 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 */

-- 
Tom Rix 
GCC Engineer
trix@redhat.com
256.704.9201


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]