Altered the CREATE_xxx_COFF_TARGET_VEC macro arguments
This commit is contained in:
parent
736694c89e
commit
3fa785190a
17 changed files with 82 additions and 282 deletions
|
@ -580,4 +580,4 @@ coff_a29k_adjust_symndx (obfd, info, ibfd, sec, irel, adjustedp)
|
||||||
|
|
||||||
#include "coffcode.h"
|
#include "coffcode.h"
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (a29kcoff_big_vec, "coff-a29k-big", 0, SEC_READONLY, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (a29kcoff_big_vec, "coff-a29k-big", 0, SEC_READONLY, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -115,7 +115,7 @@ apollo_howto2rtype (internal)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NAMES_HAVE_UNDERSCORE
|
#ifdef NAMES_HAVE_UNDERSCORE
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
#else
|
#else
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, 0, NULL)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, 0, 0, 0, NULL, COFF_SWAP_TABLE)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2623,5 +2623,5 @@ coff_arm_final_link_postscript (abfd, pfinfo)
|
||||||
extern const bfd_target TARGET_BIG_SYM ;
|
extern const bfd_target TARGET_BIG_SYM ;
|
||||||
|
|
||||||
/* Target vectors. */
|
/* Target vectors. */
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED, EXTRA_S_FLAGS, TARGET_UNDERSCORE, & TARGET_BIG_SYM)
|
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED, EXTRA_S_FLAGS, TARGET_UNDERSCORE, & TARGET_BIG_SYM, COFF_SWAP_TABLE)
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED, EXTRA_S_FLAGS, TARGET_UNDERSCORE, & TARGET_LITTLE_SYM)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED, EXTRA_S_FLAGS, TARGET_UNDERSCORE, & TARGET_LITTLE_SYM, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -1398,4 +1398,4 @@ h8300_bfd_link_add_symbols (abfd, info)
|
||||||
bfd_coff_reloc16_get_relocated_section_contents
|
bfd_coff_reloc16_get_relocated_section_contents
|
||||||
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (h8300coff_vec, "coff-h8300", BFD_IS_RELAXABLE, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (h8300coff_vec, "coff-h8300", BFD_IS_RELAXABLE, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -303,4 +303,4 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr)
|
||||||
bfd_coff_reloc16_get_relocated_section_contents
|
bfd_coff_reloc16_get_relocated_section_contents
|
||||||
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (h8500coff_vec, "coff-h8500", 0, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (h8500coff_vec, "coff-h8500", 0, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -617,7 +617,7 @@ coff_i960_adjust_symndx (obfd, info, ibfd, sec, irel, adjustedp)
|
||||||
|
|
||||||
extern const bfd_target icoff_big_vec;
|
extern const bfd_target icoff_big_vec;
|
||||||
|
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (icoff_little_vec, "coff-Intel-little", 0, 0, '_', & icoff_big_vec)
|
CREATE_LITTLE_COFF_TARGET_VEC (icoff_little_vec, "coff-Intel-little", 0, 0, '_', & icoff_big_vec, COFF_SWAP_TABLE)
|
||||||
|
|
||||||
const bfd_target icoff_big_vec =
|
const bfd_target icoff_big_vec =
|
||||||
{
|
{
|
||||||
|
|
|
@ -532,7 +532,7 @@ bfd_m68k_coff_create_embedded_relocs (abfd, info, datasec, relsec, errmsg)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NAMES_HAVE_UNDERSCORE
|
#ifdef NAMES_HAVE_UNDERSCORE
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
#else
|
#else
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, 0, NULL)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, 0, NULL, COFF_SWAP_TABLE)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -288,4 +288,4 @@ reloc_processing (relent, reloc, symbols, abfd, section)
|
||||||
|
|
||||||
#undef coff_write_armap
|
#undef coff_write_armap
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (m88kbcs_vec, "coff-m88kbcs", 0, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (m88kbcs_vec, "coff-m88kbcs", 0, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -593,7 +593,7 @@ extern const bfd_target TARGET_LITTLE_SYM;
|
||||||
/* The transfer vectors that lead the outside world to all of the above. */
|
/* The transfer vectors that lead the outside world to all of the above. */
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED,
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED,
|
||||||
(SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
|
(SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
|
||||||
0, & TARGET_LITTLE_SYM)
|
0, & TARGET_LITTLE_SYM, COFF_SWAP_TABLE)
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED,
|
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED,
|
||||||
(SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
|
(SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
|
||||||
0, & TARGET_BIG_SYM)
|
0, & TARGET_BIG_SYM, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -3132,7 +3132,7 @@ sh_coff_get_relocated_section_contents (output_bfd, link_info, link_order,
|
||||||
/* The target vectors. */
|
/* The target vectors. */
|
||||||
|
|
||||||
#ifndef TARGET_SHL_SYM
|
#ifndef TARGET_SHL_SYM
|
||||||
CREATE_BIG_COFF_TARGET_VEC (shcoff_vec, "coff-sh", BFD_IS_RELAXABLE, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (shcoff_vec, "coff-sh", BFD_IS_RELAXABLE, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TARGET_SHL_SYM
|
#ifdef TARGET_SHL_SYM
|
||||||
|
@ -3147,10 +3147,10 @@ CREATE_BIG_COFF_TARGET_VEC (shcoff_vec, "coff-sh", BFD_IS_RELAXABLE, 0, '_', NUL
|
||||||
|
|
||||||
#ifdef COFF_WITH_PE
|
#ifdef COFF_WITH_PE
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_SYM, TARGET_SHL_NAME, BFD_IS_RELAXABLE,
|
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_SYM, TARGET_SHL_NAME, BFD_IS_RELAXABLE,
|
||||||
SEC_CODE | SEC_DATA, '_', NULL);
|
SEC_CODE | SEC_DATA, '_', NULL, COFF_SWAP_TABLE);
|
||||||
#else
|
#else
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_SYM, TARGET_SHL_NAME, BFD_IS_RELAXABLE,
|
CREATE_LITTLE_COFF_TARGET_VEC (TARGET_SYM, TARGET_SHL_NAME, BFD_IS_RELAXABLE,
|
||||||
0, '_', NULL)
|
0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TARGET_SHL_SYM
|
#ifndef TARGET_SHL_SYM
|
||||||
|
|
|
@ -216,4 +216,4 @@ rtype2howto (cache_ptr, dst)
|
||||||
#define TARGET_NAME "coff-sparc"
|
#define TARGET_NAME "coff-sparc"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (TARGET_SYM, TARGET_NAME, D_PAGED, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
264
bfd/coff-tic4x.c
264
bfd/coff-tic4x.c
|
@ -363,271 +363,21 @@ static const bfd_coff_backend_data ticoff1_swap_table =
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* TI COFF v0, DOS tools (little-endian headers). */
|
/* TI COFF v0, DOS tools (little-endian headers). */
|
||||||
const bfd_target tic4x_coff0_vec =
|
CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff0_vec, "coff0-tic4x", HAS_LOAD_PAGE, 0, '_', NULL, (PTR)&ticoff0_swap_table);
|
||||||
{
|
|
||||||
"coff0-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_LITTLE, /* Header byte order is little (DOS tools). */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char. */
|
|
||||||
15, /* ar_max_namelen. */
|
|
||||||
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 */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
NULL,
|
|
||||||
|
|
||||||
(PTR)&ticoff0_swap_table
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TI COFF v0, SPARC tools (big-endian headers). */
|
/* TI COFF v0, SPARC tools (big-endian headers). */
|
||||||
const bfd_target tic4x_coff0_beh_vec =
|
CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff0_beh_vec, "coff0-beh-tic4x", HAS_LOAD_PAGE, 0, '_', &tic4x_coff0_vec, (PTR)&ticoff0_swap_table);
|
||||||
{
|
|
||||||
"coff0-beh-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_BIG, /* Header byte order is big. */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char */
|
|
||||||
15, /* ar_max_namelen */
|
|
||||||
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_getb64, bfd_getb_signed_64, bfd_putb64,
|
|
||||||
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
|
|
||||||
bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
|
|
||||||
&tic4x_coff0_vec,
|
|
||||||
|
|
||||||
(PTR)&ticoff0_swap_table
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TI COFF v1, DOS tools (little-endian headers). */
|
/* TI COFF v1, DOS tools (little-endian headers). */
|
||||||
const bfd_target tic4x_coff1_vec =
|
CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff1_vec, "coff1-tic4x", HAS_LOAD_PAGE, 0, '_', &tic4x_coff0_beh_vec, (PTR)&ticoff1_swap_table);
|
||||||
{
|
|
||||||
"coff1-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_LITTLE, /* Header byte order is little (DOS tools). */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char */
|
|
||||||
15, /* ar_max_namelen */
|
|
||||||
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 */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
|
|
||||||
&tic4x_coff0_beh_vec,
|
|
||||||
|
|
||||||
(PTR)&ticoff1_swap_table
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TI COFF v1, SPARC tools (big-endian headers). */
|
/* TI COFF v1, SPARC tools (big-endian headers). */
|
||||||
const bfd_target tic4x_coff1_beh_vec =
|
CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff1_beh_vec, "coff1-beh-tic4x", HAS_LOAD_PAGE, 0, '_', &tic4x_coff1_vec, (PTR)&ticoff1_swap_table);
|
||||||
{
|
|
||||||
"coff1-beh-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_BIG, /* Header byte order is big. */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char */
|
|
||||||
15, /* ar_max_namelen */
|
|
||||||
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_getb64, bfd_getb_signed_64, bfd_putb64,
|
|
||||||
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
|
|
||||||
bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
|
|
||||||
&tic4x_coff1_vec,
|
|
||||||
|
|
||||||
(PTR)&ticoff1_swap_table
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TI COFF v2, TI DOS tools output (little-endian headers). */
|
/* TI COFF v2, TI DOS tools output (little-endian headers). */
|
||||||
const bfd_target tic4x_coff2_vec =
|
CREATE_LITTLE_COFF_TARGET_VEC(tic4x_coff2_vec, "coff2-tic4x", HAS_LOAD_PAGE, 0, '_', &tic4x_coff1_beh_vec, COFF_SWAP_TABLE);
|
||||||
{
|
|
||||||
"coff2-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_LITTLE, /* Header byte order is little (DOS tools). */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char */
|
|
||||||
15, /* ar_max_namelen */
|
|
||||||
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 */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
|
|
||||||
&tic4x_coff1_beh_vec,
|
|
||||||
|
|
||||||
COFF_SWAP_TABLE
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TI COFF v2, TI SPARC tools output (big-endian headers). */
|
/* TI COFF v2, TI SPARC tools output (big-endian headers). */
|
||||||
const bfd_target tic4x_coff2_beh_vec =
|
CREATE_BIGHDR_COFF_TARGET_VEC(tic4x_coff2_beh_vec, "coff2-beh-tic4x", HAS_LOAD_PAGE, 0, '_', &tic4x_coff2_vec, COFF_SWAP_TABLE);
|
||||||
{
|
|
||||||
"coff2-beh-tic4x", /* Name. */
|
|
||||||
bfd_target_coff_flavour,
|
|
||||||
BFD_ENDIAN_LITTLE, /* Data byte order is little. */
|
|
||||||
BFD_ENDIAN_BIG, /* Header byte order is big. */
|
|
||||||
|
|
||||||
(HAS_RELOC | EXEC_P | /* Object flags. */
|
|
||||||
HAS_LINENO | HAS_DEBUG |
|
|
||||||
HAS_SYMS | HAS_LOCALS | WP_TEXT | HAS_LOAD_PAGE ),
|
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* Section flags. */
|
|
||||||
'_', /* Leading symbol underscore. */
|
|
||||||
'/', /* ar_pad_char */
|
|
||||||
15, /* ar_max_namelen */
|
|
||||||
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_getb64, bfd_getb_signed_64, bfd_putb64,
|
|
||||||
bfd_getb32, bfd_getb_signed_32, bfd_putb32,
|
|
||||||
bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
|
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
|
||||||
bfd_generic_archive_p, _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),
|
|
||||||
|
|
||||||
&tic4x_coff2_vec,
|
|
||||||
|
|
||||||
COFF_SWAP_TABLE
|
|
||||||
};
|
|
||||||
|
|
|
@ -719,4 +719,4 @@ coff_tic80_relocate_section (output_bfd, info, input_bfd,
|
||||||
#undef C_LASTENT /* Clashes with TIc80's C_STATLAB */
|
#undef C_LASTENT /* Clashes with TIc80's C_STATLAB */
|
||||||
#include "coffcode.h"
|
#include "coffcode.h"
|
||||||
|
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (tic80coff_vec, "coff-tic80", D_PAGED, 0, '_', NULL)
|
CREATE_LITTLE_COFF_TARGET_VEC (tic80coff_vec, "coff-tic80", D_PAGED, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -380,4 +380,4 @@ w65_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
|
||||||
bfd_coff_reloc16_get_relocated_section_contents
|
bfd_coff_reloc16_get_relocated_section_contents
|
||||||
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
||||||
|
|
||||||
CREATE_LITTLE_COFF_TARGET_VEC (w65_vec, "coff-w65", BFD_IS_RELAXABLE, 0, '_', NULL)
|
CREATE_LITTLE_COFF_TARGET_VEC (w65_vec, "coff-w65", BFD_IS_RELAXABLE, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -66,4 +66,4 @@ static reloc_howto_type howto_table[] =
|
||||||
|
|
||||||
#define coff_write_armap bsd_write_armap
|
#define coff_write_armap bsd_write_armap
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (we32kcoff_vec, "coff-we32k", 0, 0, 0, NULL)
|
CREATE_BIG_COFF_TARGET_VEC (we32kcoff_vec, "coff-we32k", 0, 0, 0, NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -350,4 +350,4 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr)
|
||||||
bfd_coff_reloc16_get_relocated_section_contents
|
bfd_coff_reloc16_get_relocated_section_contents
|
||||||
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
||||||
|
|
||||||
CREATE_BIG_COFF_TARGET_VEC (z8kcoff_vec, "coff-z8k", 0, 0, '_', NULL)
|
CREATE_BIG_COFF_TARGET_VEC (z8kcoff_vec, "coff-z8k", 0, 0, '_', NULL, COFF_SWAP_TABLE)
|
||||||
|
|
|
@ -5413,7 +5413,7 @@ static const bfd_coff_backend_data bfd_coff_std_swap_table =
|
||||||
#define coff_bfd_discard_group bfd_generic_discard_group
|
#define coff_bfd_discard_group bfd_generic_discard_group
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CREATE_BIG_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE) \
|
#define CREATE_BIG_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE, SWAP_TABLE) \
|
||||||
const bfd_target VAR = \
|
const bfd_target VAR = \
|
||||||
{ \
|
{ \
|
||||||
NAME , \
|
NAME , \
|
||||||
|
@ -5460,10 +5460,60 @@ const bfd_target VAR = \
|
||||||
\
|
\
|
||||||
ALTERNATIVE, \
|
ALTERNATIVE, \
|
||||||
\
|
\
|
||||||
COFF_SWAP_TABLE \
|
SWAP_TABLE \
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CREATE_LITTLE_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE) \
|
#define CREATE_BIGHDR_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE, SWAP_TABLE) \
|
||||||
|
const bfd_target VAR = \
|
||||||
|
{ \
|
||||||
|
NAME , \
|
||||||
|
bfd_target_coff_flavour, \
|
||||||
|
BFD_ENDIAN_LITTLE, /* data byte order is little */ \
|
||||||
|
BFD_ENDIAN_BIG, /* header byte order is big */ \
|
||||||
|
/* object flags */ \
|
||||||
|
(HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | \
|
||||||
|
HAS_SYMS | HAS_LOCALS | WP_TEXT | EXTRA_O_FLAGS), \
|
||||||
|
/* section flags */ \
|
||||||
|
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | EXTRA_S_FLAGS),\
|
||||||
|
UNDER, /* leading symbol underscore */ \
|
||||||
|
'/', /* ar_pad_char */ \
|
||||||
|
15, /* ar_max_namelen */ \
|
||||||
|
\
|
||||||
|
/* Data conversion functions. */ \
|
||||||
|
bfd_getb64, bfd_getb_signed_64, bfd_putb64, \
|
||||||
|
bfd_getb32, bfd_getb_signed_32, bfd_putb32, \
|
||||||
|
bfd_getb16, bfd_getb_signed_16, bfd_putb16, \
|
||||||
|
\
|
||||||
|
/* Header conversion functions. */ \
|
||||||
|
bfd_getb64, bfd_getb_signed_64, bfd_putb64, \
|
||||||
|
bfd_getb32, bfd_getb_signed_32, bfd_putb32, \
|
||||||
|
bfd_getb16, bfd_getb_signed_16, bfd_putb16, \
|
||||||
|
\
|
||||||
|
/* bfd_check_format */ \
|
||||||
|
{ _bfd_dummy_target, coff_object_p, bfd_generic_archive_p, \
|
||||||
|
_bfd_dummy_target }, \
|
||||||
|
/* bfd_set_format */ \
|
||||||
|
{ bfd_false, coff_mkobject, _bfd_generic_mkarchive, bfd_false }, \
|
||||||
|
/* bfd_write_contents */ \
|
||||||
|
{ bfd_false, coff_write_object_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), \
|
||||||
|
\
|
||||||
|
ALTERNATIVE, \
|
||||||
|
\
|
||||||
|
SWAP_TABLE \
|
||||||
|
};
|
||||||
|
|
||||||
|
#define CREATE_LITTLE_COFF_TARGET_VEC(VAR, NAME, EXTRA_O_FLAGS, EXTRA_S_FLAGS, UNDER, ALTERNATIVE, SWAP_TABLE) \
|
||||||
const bfd_target VAR = \
|
const bfd_target VAR = \
|
||||||
{ \
|
{ \
|
||||||
NAME , \
|
NAME , \
|
||||||
|
@ -5508,5 +5558,5 @@ const bfd_target VAR = \
|
||||||
\
|
\
|
||||||
ALTERNATIVE, \
|
ALTERNATIVE, \
|
||||||
\
|
\
|
||||||
COFF_SWAP_TABLE \
|
SWAP_TABLE \
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue