mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
* coff-sh.c (shlcoff_vec): New target vector.
(no_archive): New function. * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle little endian SH. * configure.in: Handle shl. * targets.c (bfd_target_vector): Add shlcoff_vec. * config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
This commit is contained in:
@ -1,3 +1,20 @@
|
|||||||
|
Wed Nov 23 19:21:41 1994 Steve Chamberlain (sac@jonny.cygnus.com)
|
||||||
|
|
||||||
|
* coff-sh.c (shlcoff_vec): New target vector.
|
||||||
|
(no_archive): New function.
|
||||||
|
* coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle
|
||||||
|
little endian SH.
|
||||||
|
* configure.in: Handle shl.
|
||||||
|
* targets.c (bfd_target_vector): Add shlcoff_vec.
|
||||||
|
* config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
|
||||||
|
|
||||||
|
Wed Nov 23 10:50:13 1994 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
|
* elfcode.h (write_relocs): Do not subtract the section's vma from
|
||||||
|
the reloc's offset when writing .o's. Instead add the section's
|
||||||
|
vma to the reloc's offset when writing an executable or shared
|
||||||
|
library.
|
||||||
|
|
||||||
Tue Nov 22 23:34:37 1994 Jeff Law (law@snake.cs.utah.edu)
|
Tue Nov 22 23:34:37 1994 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
|
* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
|
||||||
|
@ -32,7 +32,7 @@ static bfd_reloc_status_type sh_reloc();
|
|||||||
|
|
||||||
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
|
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
|
||||||
|
|
||||||
#define COFF_LONG_FILENAMES
|
/*#define COFF_LONG_FILENAMES*/
|
||||||
|
|
||||||
static reloc_howto_type r_imm32 =
|
static reloc_howto_type r_imm32 =
|
||||||
{R_SH_IMM32, 0, 2, 32, false, 0,
|
{R_SH_IMM32, 0, 2, 32, false, 0,
|
||||||
@ -263,7 +263,6 @@ coff_sh_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define coff_relocate_section coff_sh_relocate_section
|
#define coff_relocate_section coff_sh_relocate_section
|
||||||
|
|
||||||
#include "coffcode.h"
|
#include "coffcode.h"
|
||||||
|
|
||||||
const bfd_target shcoff_vec =
|
const bfd_target shcoff_vec =
|
||||||
@ -309,3 +308,55 @@ const bfd_target shcoff_vec =
|
|||||||
COFF_SWAP_TABLE,
|
COFF_SWAP_TABLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static int no_archive()
|
||||||
|
{
|
||||||
|
bfd_set_error (bfd_error_wrong_format);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
const bfd_target shlcoff_vec =
|
||||||
|
{
|
||||||
|
"coff-shl", /* name */
|
||||||
|
bfd_target_coff_flavour,
|
||||||
|
false, /* data byte order is little */
|
||||||
|
false, /* header byte order is little endian too*/
|
||||||
|
|
||||||
|
(HAS_RELOC | EXEC_P | /* object flags */
|
||||||
|
HAS_LINENO | HAS_DEBUG |
|
||||||
|
HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE ),
|
||||||
|
|
||||||
|
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||||
|
'_', /* leading symbol underscore */
|
||||||
|
'/', /* ar_pad_char */
|
||||||
|
15, /* ar_max_namelen */
|
||||||
|
2, /* minimum section alignment */
|
||||||
|
bfd_getl64, bfd_getl_signed_64, bfd_putl64,
|
||||||
|
bfd_getl32, bfd_getl_signed_32, bfd_putl32,
|
||||||
|
bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
|
||||||
|
bfd_getl64, bfd_getl_signed_64, bfd_putl64,
|
||||||
|
bfd_getl32, bfd_getl_signed_32, bfd_putl32,
|
||||||
|
bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
|
||||||
|
|
||||||
|
/* Note that we use a special archive recognizer.
|
||||||
|
This is so that we only use one archive format for both
|
||||||
|
object file types */
|
||||||
|
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
||||||
|
no_archive, _bfd_dummy_target},
|
||||||
|
{bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
|
||||||
|
bfd_false},
|
||||||
|
{bfd_false, coff_write_object_contents, /* bfd_write_contents */
|
||||||
|
_bfd_write_archive_contents, bfd_false},
|
||||||
|
|
||||||
|
BFD_JUMP_TABLE_GENERIC (coff),
|
||||||
|
BFD_JUMP_TABLE_COPY (coff),
|
||||||
|
BFD_JUMP_TABLE_CORE (_bfd_nocore),
|
||||||
|
BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
|
||||||
|
BFD_JUMP_TABLE_SYMBOLS (coff),
|
||||||
|
BFD_JUMP_TABLE_RELOCS (coff),
|
||||||
|
BFD_JUMP_TABLE_WRITE (coff),
|
||||||
|
BFD_JUMP_TABLE_LINK (coff),
|
||||||
|
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
||||||
|
|
||||||
|
COFF_SWAP_TABLE,
|
||||||
|
};
|
||||||
|
|
||||||
|
@ -198,10 +198,11 @@ do
|
|||||||
target64=true ;;
|
target64=true ;;
|
||||||
riscix_vec) tb="$tb aout32.o riscix.o stab-syms.o" ;;
|
riscix_vec) tb="$tb aout32.o riscix.o stab-syms.o" ;;
|
||||||
nlm32_powerpc_vec) tb="$tb nlm32-ppc.o nlm32.o nlm.o" ;;
|
nlm32_powerpc_vec) tb="$tb nlm32-ppc.o nlm32.o nlm.o" ;;
|
||||||
ns32knetbsd_vec) tb="$tb ns32knetbsd.o aout-ns32k.o stab-syms.o" ;;
|
pc532netbsd_vec) tb="$tb ns32knetbsd.o aout-ns32k.o stab-syms.o" ;;
|
||||||
pc532machaout_vec) tb="$tb pc532-mach.o aout-ns32k.o stab-syms.o" ;;
|
pc532machaout_vec) tb="$tb pc532-mach.o aout-ns32k.o stab-syms.o" ;;
|
||||||
rs6000coff_vec) tb="$tb coff-rs6000.o" ;;
|
rs6000coff_vec) tb="$tb coff-rs6000.o" ;;
|
||||||
shcoff_vec) tb="$tb coff-sh.o cofflink.o" ;;
|
shcoff_vec) tb="$tb coff-sh.o cofflink.o" ;;
|
||||||
|
shlcoff_vec) tb="$tb coff-sh.o cofflink.o" ;;
|
||||||
som_vec) tb="$tb som.o" ;;
|
som_vec) tb="$tb som.o" ;;
|
||||||
sparclynx_aout_vec) tb="$tb sparclynx.o lynx-core.o aout32.o stab-syms.o" ;;
|
sparclynx_aout_vec) tb="$tb sparclynx.o lynx-core.o aout32.o stab-syms.o" ;;
|
||||||
sparclynx_coff_vec) tb="$tb cf-sparclynx.o lynx-core.o stab-syms.o" ;;
|
sparclynx_coff_vec) tb="$tb cf-sparclynx.o lynx-core.o stab-syms.o" ;;
|
||||||
|
@ -472,6 +472,7 @@ extern const bfd_target m68kcoff_vec;
|
|||||||
extern const bfd_target m68kcoffun_vec;
|
extern const bfd_target m68kcoffun_vec;
|
||||||
extern const bfd_target m68klynx_aout_vec;
|
extern const bfd_target m68klynx_aout_vec;
|
||||||
extern const bfd_target m68klynx_coff_vec;
|
extern const bfd_target m68klynx_coff_vec;
|
||||||
|
extern const bfd_target m68knetbsd_vec;
|
||||||
extern const bfd_target m88kbcs_vec;
|
extern const bfd_target m88kbcs_vec;
|
||||||
extern const bfd_target m88kmach3_vec;
|
extern const bfd_target m88kmach3_vec;
|
||||||
extern const bfd_target newsos3_vec;
|
extern const bfd_target newsos3_vec;
|
||||||
@ -485,6 +486,7 @@ extern const bfd_target pc532machaout_vec;
|
|||||||
extern const bfd_target riscix_vec;
|
extern const bfd_target riscix_vec;
|
||||||
extern const bfd_target rs6000coff_vec;
|
extern const bfd_target rs6000coff_vec;
|
||||||
extern const bfd_target shcoff_vec;
|
extern const bfd_target shcoff_vec;
|
||||||
|
extern const bfd_target shlcoff_vec;
|
||||||
extern const bfd_target sparclynx_aout_vec;
|
extern const bfd_target sparclynx_aout_vec;
|
||||||
extern const bfd_target sparclynx_coff_vec;
|
extern const bfd_target sparclynx_coff_vec;
|
||||||
extern const bfd_target sparcnetbsd_vec;
|
extern const bfd_target sparcnetbsd_vec;
|
||||||
@ -609,6 +611,7 @@ const bfd_target * const bfd_target_vector[] = {
|
|||||||
&m68kcoffun_vec,
|
&m68kcoffun_vec,
|
||||||
&m68klynx_aout_vec,
|
&m68klynx_aout_vec,
|
||||||
&m68klynx_coff_vec,
|
&m68klynx_coff_vec,
|
||||||
|
&m68knetbsd_vec,
|
||||||
&m88kbcs_vec,
|
&m88kbcs_vec,
|
||||||
&m88kmach3_vec,
|
&m88kmach3_vec,
|
||||||
&newsos3_vec,
|
&newsos3_vec,
|
||||||
@ -633,6 +636,7 @@ const bfd_target * const bfd_target_vector[] = {
|
|||||||
#endif
|
#endif
|
||||||
&rs6000coff_vec,
|
&rs6000coff_vec,
|
||||||
&shcoff_vec,
|
&shcoff_vec,
|
||||||
|
&shlcoff_vec,
|
||||||
&sparclynx_aout_vec,
|
&sparclynx_aout_vec,
|
||||||
&sparclynx_coff_vec,
|
&sparclynx_coff_vec,
|
||||||
&sparcnetbsd_vec,
|
&sparcnetbsd_vec,
|
||||||
|
Reference in New Issue
Block a user