mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-12 10:41:31 +08:00
* bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
compiling with g++-2.6 or later. (bfd_set_section_vma): Use bfd_true and bfd_false rather than true and false. (bfd_set_section_alignment): Likewise. (bfd_set_section_userdata): Likewise. (bfd_set_cacheable): Likewise. * bfd-in2.h: Rebuilt.
This commit is contained in:
@ -1,3 +1,14 @@
|
|||||||
|
Fri Jun 9 12:49:00 1995 Jeff Law (law@snake.cs.utah.edu)
|
||||||
|
|
||||||
|
* bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
|
||||||
|
compiling with g++-2.6 or later.
|
||||||
|
(bfd_set_section_vma): Use bfd_true and bfd_false rather than
|
||||||
|
true and false.
|
||||||
|
(bfd_set_section_alignment): Likewise.
|
||||||
|
(bfd_set_section_userdata): Likewise.
|
||||||
|
(bfd_set_cacheable): Likewise.
|
||||||
|
* bfd-in2.h: Rebuilt.
|
||||||
|
|
||||||
Fri Jun 9 07:54:29 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
Fri Jun 9 07:54:29 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||||||
|
|
||||||
* versados.c (struct esd, get_4): Lint; use unsigned chars.
|
* versados.c (struct esd, get_4): Lint; use unsigned chars.
|
||||||
|
111
bfd/bfd-in.h
111
bfd/bfd-in.h
@ -1,5 +1,5 @@
|
|||||||
/* Main header file for the bfd library -- portable access to object files.
|
/* Main header file for the bfd library -- portable access to object files.
|
||||||
Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
|
||||||
Contributed by Cygnus Support.
|
Contributed by Cygnus Support.
|
||||||
|
|
||||||
** NOTE: bfd.h and bfd-in2.h are GENERATED files. Don't change them;
|
** NOTE: bfd.h and bfd-in2.h are GENERATED files. Don't change them;
|
||||||
@ -82,6 +82,10 @@ typedef struct _bfd bfd;
|
|||||||
/* typedef enum boolean {false, true} boolean; */
|
/* typedef enum boolean {false, true} boolean; */
|
||||||
/* Yup, SVR4 has a "typedef enum boolean" in <sys/types.h> -fnf */
|
/* Yup, SVR4 has a "typedef enum boolean" in <sys/types.h> -fnf */
|
||||||
/* It gets worse if the host also defines a true/false enum... -sts */
|
/* It gets worse if the host also defines a true/false enum... -sts */
|
||||||
|
/* And even worse if your compiler has built-in boolean types... -law */
|
||||||
|
#if defined (__GNUG__) && (__GNUC_MINOR__ > 5)
|
||||||
|
#define TRUE_FALSE_ALREADY_DEFINED
|
||||||
|
#endif
|
||||||
#ifndef TRUE_FALSE_ALREADY_DEFINED
|
#ifndef TRUE_FALSE_ALREADY_DEFINED
|
||||||
typedef enum bfd_boolean {false, true} boolean;
|
typedef enum bfd_boolean {false, true} boolean;
|
||||||
#define BFD_TRUE_FALSE
|
#define BFD_TRUE_FALSE
|
||||||
@ -99,15 +103,16 @@ typedef enum bfd_boolean {bfd_false, bfd_true} boolean;
|
|||||||
/* typedef off_t file_ptr; */
|
/* typedef off_t file_ptr; */
|
||||||
typedef long int file_ptr;
|
typedef long int file_ptr;
|
||||||
|
|
||||||
/* Support for different sizes of target format ints and addresses. If the
|
/* Support for different sizes of target format ints and addresses.
|
||||||
host implements 64-bit values, it defines BFD_HOST_64_BIT to be the appropriate
|
If the host implements 64-bit values, it defines BFD_HOST_64_BIT to
|
||||||
type. Otherwise, this code will fall back on gcc's "long long" type if gcc
|
be the appropriate type. Otherwise, this code will fall back on
|
||||||
is being used. BFD_HOST_64_BIT must be defined in such a way as to be a valid
|
gcc's "long long" type if gcc is being used. BFD_HOST_64_BIT must
|
||||||
type name by itself or with "unsigned" prefixed. It should be a signed
|
be defined in such a way as to be a valid type name by itself or
|
||||||
type by itself.
|
with "unsigned" prefixed. It should be a signed type by itself.
|
||||||
|
|
||||||
If neither is the case, then compilation will fail if 64-bit targets are
|
If neither is the case, then compilation will fail if 64-bit
|
||||||
requested. If you don't request any 64-bit targets, you should be safe. */
|
targets are requested. If you don't request any 64-bit targets,
|
||||||
|
you should be safe. */
|
||||||
|
|
||||||
#ifdef BFD64
|
#ifdef BFD64
|
||||||
|
|
||||||
@ -159,6 +164,7 @@ typedef unsigned long bfd_size_type;
|
|||||||
#define printf_vma(x) fprintf_vma(stdout,x)
|
#define printf_vma(x) fprintf_vma(stdout,x)
|
||||||
|
|
||||||
typedef unsigned int flagword; /* 32 bits of flags */
|
typedef unsigned int flagword; /* 32 bits of flags */
|
||||||
|
typedef unsigned char bfd_byte;
|
||||||
|
|
||||||
/** File formats */
|
/** File formats */
|
||||||
|
|
||||||
@ -213,7 +219,8 @@ typedef enum bfd_format {
|
|||||||
#define D_PAGED 0x100
|
#define D_PAGED 0x100
|
||||||
|
|
||||||
/* BFD is relaxable (this means that bfd_relax_section may be able to
|
/* BFD is relaxable (this means that bfd_relax_section may be able to
|
||||||
do something). */
|
do something) (sometimes bfd_relax_section can do something even if
|
||||||
|
this is not set). */
|
||||||
#define BFD_IS_RELAXABLE 0x200
|
#define BFD_IS_RELAXABLE 0x200
|
||||||
|
|
||||||
/* This may be set before writing out a BFD to request using a
|
/* This may be set before writing out a BFD to request using a
|
||||||
@ -227,6 +234,9 @@ typedef enum bfd_format {
|
|||||||
/* A count of carsyms (canonical archive symbols). */
|
/* A count of carsyms (canonical archive symbols). */
|
||||||
typedef unsigned long symindex;
|
typedef unsigned long symindex;
|
||||||
|
|
||||||
|
/* How to perform a relocation. */
|
||||||
|
typedef const struct reloc_howto_struct reloc_howto_type;
|
||||||
|
|
||||||
#define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
|
#define BFD_NO_MORE_SYMBOLS ((symindex) ~0)
|
||||||
|
|
||||||
/* General purpose part of a symbol X;
|
/* General purpose part of a symbol X;
|
||||||
@ -257,7 +267,6 @@ struct orl { /* output ranlib */
|
|||||||
file_ptr pos; /* bfd* or file position */
|
file_ptr pos; /* bfd* or file position */
|
||||||
int namidx; /* index into string table */
|
int namidx; /* index into string table */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Linenumber stuff */
|
/* Linenumber stuff */
|
||||||
@ -271,7 +280,6 @@ typedef struct lineno_cache_entry {
|
|||||||
|
|
||||||
/* object and core file sections */
|
/* object and core file sections */
|
||||||
|
|
||||||
|
|
||||||
#define align_power(addr, align) \
|
#define align_power(addr, align) \
|
||||||
( ((addr) + ((1<<(align))-1)) & (-1 << (align)))
|
( ((addr) + ((1<<(align))-1)) & (-1 << (align)))
|
||||||
|
|
||||||
@ -289,9 +297,9 @@ typedef struct sec *sec_ptr;
|
|||||||
|
|
||||||
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
||||||
|
|
||||||
#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma= (val)), ((ptr)->user_set_vma = true), true)
|
#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma= (val)), ((ptr)->user_set_vma = bfd_true), bfd_true)
|
||||||
#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),true)
|
#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),bfd_true)
|
||||||
#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),true)
|
#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),bfd_true)
|
||||||
|
|
||||||
typedef struct stat stat_type;
|
typedef struct stat stat_type;
|
||||||
|
|
||||||
@ -424,6 +432,55 @@ extern void bfd_hash_traverse PARAMS ((struct bfd_hash_table *,
|
|||||||
|
|
||||||
/* User program access to BFD facilities */
|
/* User program access to BFD facilities */
|
||||||
|
|
||||||
|
/* Direct I/O routines, for programs which know more about the object
|
||||||
|
file than BFD does. Use higher level routines if possible. */
|
||||||
|
|
||||||
|
extern bfd_size_type bfd_read
|
||||||
|
PARAMS ((PTR, bfd_size_type size, bfd_size_type nitems, bfd *abfd));
|
||||||
|
extern bfd_size_type bfd_write
|
||||||
|
PARAMS ((const PTR, bfd_size_type size, bfd_size_type nitems, bfd *abfd));
|
||||||
|
extern int bfd_seek PARAMS ((bfd *abfd, file_ptr fp, int direction));
|
||||||
|
extern long bfd_tell PARAMS ((bfd *abfd));
|
||||||
|
extern int bfd_flush PARAMS ((bfd *abfd));
|
||||||
|
extern int bfd_stat PARAMS ((bfd *abfd, struct stat *));
|
||||||
|
|
||||||
|
/* PE STUFF */
|
||||||
|
/* Also define some types which are used within bfdlink.h for the
|
||||||
|
bfd_link_info struct. These are not defined in bfdlink.h for a reason.
|
||||||
|
When the link_info data is passed to bfd from ld, it is copied into
|
||||||
|
extern variables defined in internal.h. The type class for these must
|
||||||
|
be available to any thing that includes internal.h. When internal.h is
|
||||||
|
included, it is always preceeded by an include on this file. If I leave the
|
||||||
|
type definitions in bfdlink.h, then I must include that file when ever
|
||||||
|
I include internal.h, and this is not always a good thing */
|
||||||
|
|
||||||
|
/* These are the different types of subsystems to be used when linking for
|
||||||
|
Windows NT. This information is passed in as an input parameter (default
|
||||||
|
is console) and ultimately ends up in the optional header data */
|
||||||
|
enum bfd_link_subsystem
|
||||||
|
{
|
||||||
|
native, /* image doesn't require a subsystem */
|
||||||
|
windows, /* image runs in the Windows GUI subsystem */
|
||||||
|
console, /* image runs in the Windows CUI (character) subsystem */
|
||||||
|
os2, /* image runs in the OS/2 character subsystem */
|
||||||
|
posix /* image runs in the posix character subsystem */
|
||||||
|
};
|
||||||
|
/* The NT optional header file allows input of the stack and heap reserve
|
||||||
|
and commit size. This data may be input on the command line and will
|
||||||
|
end up in the optional header. Default sizes are provided. */
|
||||||
|
struct _bfd_link_stack_heap
|
||||||
|
{
|
||||||
|
boolean stack_defined;
|
||||||
|
boolean heap_defined;
|
||||||
|
bfd_vma stack_reserve;
|
||||||
|
bfd_vma stack_commit;
|
||||||
|
bfd_vma heap_reserve;
|
||||||
|
bfd_vma heap_commit;
|
||||||
|
};
|
||||||
|
typedef struct _bfd_link_stack_heap bfd_link_stack_heap;
|
||||||
|
|
||||||
|
/* END OF PE STUFF */
|
||||||
|
|
||||||
/* Cast from const char * to char * so that caller can assign to
|
/* Cast from const char * to char * so that caller can assign to
|
||||||
a char * without a warning. */
|
a char * without a warning. */
|
||||||
#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
|
#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
|
||||||
@ -447,7 +504,7 @@ extern void bfd_hash_traverse PARAMS ((struct bfd_hash_table *,
|
|||||||
|
|
||||||
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
||||||
|
|
||||||
#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = (bool)), true)
|
#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = (bool)), bfd_true)
|
||||||
|
|
||||||
/* Byte swapping routines. */
|
/* Byte swapping routines. */
|
||||||
|
|
||||||
@ -524,6 +581,9 @@ extern boolean bfd_ecoff_write_accumulated_debug
|
|||||||
PARAMS ((PTR handle, bfd *abfd, struct ecoff_debug_info *debug,
|
PARAMS ((PTR handle, bfd *abfd, struct ecoff_debug_info *debug,
|
||||||
const struct ecoff_debug_swap *swap,
|
const struct ecoff_debug_swap *swap,
|
||||||
struct bfd_link_info *info, file_ptr where));
|
struct bfd_link_info *info, file_ptr where));
|
||||||
|
extern boolean bfd_mips_ecoff_create_embedded_relocs
|
||||||
|
PARAMS ((bfd *, struct bfd_link_info *, struct sec *, struct sec *,
|
||||||
|
char **));
|
||||||
|
|
||||||
/* Externally visible ELF routines. */
|
/* Externally visible ELF routines. */
|
||||||
|
|
||||||
@ -532,9 +592,11 @@ extern boolean bfd_elf32_record_link_assignment
|
|||||||
extern boolean bfd_elf64_record_link_assignment
|
extern boolean bfd_elf64_record_link_assignment
|
||||||
PARAMS ((bfd *, struct bfd_link_info *, const char *));
|
PARAMS ((bfd *, struct bfd_link_info *, const char *));
|
||||||
extern boolean bfd_elf32_size_dynamic_sections
|
extern boolean bfd_elf32_size_dynamic_sections
|
||||||
PARAMS ((bfd *, struct bfd_link_info *, struct sec **));
|
PARAMS ((bfd *, const char *, const char *, boolean,
|
||||||
|
struct bfd_link_info *, struct sec **));
|
||||||
extern boolean bfd_elf64_size_dynamic_sections
|
extern boolean bfd_elf64_size_dynamic_sections
|
||||||
PARAMS ((bfd *, struct bfd_link_info *, struct sec **));
|
PARAMS ((bfd *, const char *, const char *, boolean,
|
||||||
|
struct bfd_link_info *, struct sec **));
|
||||||
extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *));
|
extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *));
|
||||||
|
|
||||||
/* SunOS shared library support routines for the linker. */
|
/* SunOS shared library support routines for the linker. */
|
||||||
@ -545,4 +607,17 @@ extern boolean bfd_sunos_size_dynamic_sections
|
|||||||
PARAMS ((bfd *, struct bfd_link_info *, struct sec **, struct sec **,
|
PARAMS ((bfd *, struct bfd_link_info *, struct sec **, struct sec **,
|
||||||
struct sec **));
|
struct sec **));
|
||||||
|
|
||||||
|
/* Linux shared library support routines for the linker. */
|
||||||
|
|
||||||
|
extern boolean bfd_linux_size_dynamic_sections
|
||||||
|
PARAMS ((bfd *, struct bfd_link_info *));
|
||||||
|
|
||||||
/* And more from the source. */
|
/* And more from the source. */
|
||||||
|
|
||||||
|
/* provide storage for subsystem, stack and heap data which may have been
|
||||||
|
passed in on the command line. Ld puts this data into a bfd_link_info
|
||||||
|
struct which ultimately gets passed in to the bfd. When it arrives, copy
|
||||||
|
it to the following struct so that the data will be available in coffcode.h
|
||||||
|
where it is needed. The typedef's used are defined in bfd.h */
|
||||||
|
enum bfd_link_subsystem NT_subsystem;
|
||||||
|
bfd_link_stack_heap NT_stack_heap;
|
||||||
|
130
bfd/bfd-in2.h
130
bfd/bfd-in2.h
@ -82,6 +82,10 @@ typedef struct _bfd bfd;
|
|||||||
/* typedef enum boolean {false, true} boolean; */
|
/* typedef enum boolean {false, true} boolean; */
|
||||||
/* Yup, SVR4 has a "typedef enum boolean" in <sys/types.h> -fnf */
|
/* Yup, SVR4 has a "typedef enum boolean" in <sys/types.h> -fnf */
|
||||||
/* It gets worse if the host also defines a true/false enum... -sts */
|
/* It gets worse if the host also defines a true/false enum... -sts */
|
||||||
|
/* And even worse if your compiler has built-in boolean types... -law */
|
||||||
|
#if defined (__GNUG__) && (__GNUC_MINOR__ > 5)
|
||||||
|
#define TRUE_FALSE_ALREADY_DEFINED
|
||||||
|
#endif
|
||||||
#ifndef TRUE_FALSE_ALREADY_DEFINED
|
#ifndef TRUE_FALSE_ALREADY_DEFINED
|
||||||
typedef enum bfd_boolean {false, true} boolean;
|
typedef enum bfd_boolean {false, true} boolean;
|
||||||
#define BFD_TRUE_FALSE
|
#define BFD_TRUE_FALSE
|
||||||
@ -293,9 +297,9 @@ typedef struct sec *sec_ptr;
|
|||||||
|
|
||||||
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
||||||
|
|
||||||
#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma= (val)), ((ptr)->user_set_vma = true), true)
|
#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma= (val)), ((ptr)->user_set_vma = bfd_true), bfd_true)
|
||||||
#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),true)
|
#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),bfd_true)
|
||||||
#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),true)
|
#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),bfd_true)
|
||||||
|
|
||||||
typedef struct stat stat_type;
|
typedef struct stat stat_type;
|
||||||
|
|
||||||
@ -440,6 +444,43 @@ extern long bfd_tell PARAMS ((bfd *abfd));
|
|||||||
extern int bfd_flush PARAMS ((bfd *abfd));
|
extern int bfd_flush PARAMS ((bfd *abfd));
|
||||||
extern int bfd_stat PARAMS ((bfd *abfd, struct stat *));
|
extern int bfd_stat PARAMS ((bfd *abfd, struct stat *));
|
||||||
|
|
||||||
|
/* PE STUFF */
|
||||||
|
/* Also define some types which are used within bfdlink.h for the
|
||||||
|
bfd_link_info struct. These are not defined in bfdlink.h for a reason.
|
||||||
|
When the link_info data is passed to bfd from ld, it is copied into
|
||||||
|
extern variables defined in internal.h. The type class for these must
|
||||||
|
be available to any thing that includes internal.h. When internal.h is
|
||||||
|
included, it is always preceeded by an include on this file. If I leave the
|
||||||
|
type definitions in bfdlink.h, then I must include that file when ever
|
||||||
|
I include internal.h, and this is not always a good thing */
|
||||||
|
|
||||||
|
/* These are the different types of subsystems to be used when linking for
|
||||||
|
Windows NT. This information is passed in as an input parameter (default
|
||||||
|
is console) and ultimately ends up in the optional header data */
|
||||||
|
enum bfd_link_subsystem
|
||||||
|
{
|
||||||
|
native, /* image doesn't require a subsystem */
|
||||||
|
windows, /* image runs in the Windows GUI subsystem */
|
||||||
|
console, /* image runs in the Windows CUI (character) subsystem */
|
||||||
|
os2, /* image runs in the OS/2 character subsystem */
|
||||||
|
posix /* image runs in the posix character subsystem */
|
||||||
|
};
|
||||||
|
/* The NT optional header file allows input of the stack and heap reserve
|
||||||
|
and commit size. This data may be input on the command line and will
|
||||||
|
end up in the optional header. Default sizes are provided. */
|
||||||
|
struct _bfd_link_stack_heap
|
||||||
|
{
|
||||||
|
boolean stack_defined;
|
||||||
|
boolean heap_defined;
|
||||||
|
bfd_vma stack_reserve;
|
||||||
|
bfd_vma stack_commit;
|
||||||
|
bfd_vma heap_reserve;
|
||||||
|
bfd_vma heap_commit;
|
||||||
|
};
|
||||||
|
typedef struct _bfd_link_stack_heap bfd_link_stack_heap;
|
||||||
|
|
||||||
|
/* END OF PE STUFF */
|
||||||
|
|
||||||
/* Cast from const char * to char * so that caller can assign to
|
/* Cast from const char * to char * so that caller can assign to
|
||||||
a char * without a warning. */
|
a char * without a warning. */
|
||||||
#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
|
#define bfd_get_filename(abfd) ((char *) (abfd)->filename)
|
||||||
@ -463,7 +504,7 @@ extern int bfd_stat PARAMS ((bfd *abfd, struct stat *));
|
|||||||
|
|
||||||
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
||||||
|
|
||||||
#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = (bool)), true)
|
#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = (bool)), bfd_true)
|
||||||
|
|
||||||
/* Byte swapping routines. */
|
/* Byte swapping routines. */
|
||||||
|
|
||||||
@ -572,6 +613,14 @@ extern boolean bfd_linux_size_dynamic_sections
|
|||||||
PARAMS ((bfd *, struct bfd_link_info *));
|
PARAMS ((bfd *, struct bfd_link_info *));
|
||||||
|
|
||||||
/* And more from the source. */
|
/* And more from the source. */
|
||||||
|
|
||||||
|
/* provide storage for subsystem, stack and heap data which may have been
|
||||||
|
passed in on the command line. Ld puts this data into a bfd_link_info
|
||||||
|
struct which ultimately gets passed in to the bfd. When it arrives, copy
|
||||||
|
it to the following struct so that the data will be available in coffcode.h
|
||||||
|
where it is needed. The typedef's used are defined in bfd.h */
|
||||||
|
enum bfd_link_subsystem NT_subsystem;
|
||||||
|
bfd_link_stack_heap NT_stack_heap;
|
||||||
void
|
void
|
||||||
bfd_init PARAMS ((void));
|
bfd_init PARAMS ((void));
|
||||||
|
|
||||||
@ -1327,6 +1376,25 @@ The 24-bit relocation is used in some Intel 960 configurations. */
|
|||||||
BFD_RELOC_12_PCREL,
|
BFD_RELOC_12_PCREL,
|
||||||
BFD_RELOC_8_PCREL,
|
BFD_RELOC_8_PCREL,
|
||||||
|
|
||||||
|
/* For ELF. */
|
||||||
|
BFD_RELOC_32_GOT_PCREL,
|
||||||
|
BFD_RELOC_16_GOT_PCREL,
|
||||||
|
BFD_RELOC_8_GOT_PCREL,
|
||||||
|
BFD_RELOC_32_GOTOFF,
|
||||||
|
BFD_RELOC_16_GOTOFF,
|
||||||
|
BFD_RELOC_8_GOTOFF,
|
||||||
|
BFD_RELOC_32_PLT_PCREL,
|
||||||
|
BFD_RELOC_16_PLT_PCREL,
|
||||||
|
BFD_RELOC_8_PLT_PCREL,
|
||||||
|
BFD_RELOC_32_PLTOFF,
|
||||||
|
BFD_RELOC_16_PLTOFF,
|
||||||
|
BFD_RELOC_8_PLTOFF,
|
||||||
|
|
||||||
|
/* Relocations used by 68K ELF. */
|
||||||
|
BFD_RELOC_68K_GLOB_DAT,
|
||||||
|
BFD_RELOC_68K_JMP_SLOT,
|
||||||
|
BFD_RELOC_68K_RELATIVE,
|
||||||
|
|
||||||
/* Linkage-table relative. */
|
/* Linkage-table relative. */
|
||||||
BFD_RELOC_32_BASEREL,
|
BFD_RELOC_32_BASEREL,
|
||||||
BFD_RELOC_16_BASEREL,
|
BFD_RELOC_16_BASEREL,
|
||||||
@ -1524,13 +1592,22 @@ not stored in the instruction. */
|
|||||||
BFD_RELOC_ARM_SWI,
|
BFD_RELOC_ARM_SWI,
|
||||||
BFD_RELOC_ARM_MULTI,
|
BFD_RELOC_ARM_MULTI,
|
||||||
BFD_RELOC_ARM_CP_OFF_IMM,
|
BFD_RELOC_ARM_CP_OFF_IMM,
|
||||||
|
BFD_RELOC_ARM_ADR_IMM,
|
||||||
|
BFD_RELOC_ARM_LDR_IMM,
|
||||||
|
BFD_RELOC_ARM_LITERAL,
|
||||||
|
BFD_RELOC_ARM_IN_POOL,
|
||||||
/* start-sanitize-arc */
|
/* start-sanitize-arc */
|
||||||
|
|
||||||
/* Argonaut RISC Core (ARC) relocs.
|
/* Argonaut RISC Core (ARC) relocs.
|
||||||
ARC 22 bit pc-relative branch. The lowest two bits must be zero and are
|
ARC 22 bit pc-relative branch. The lowest two bits must be zero and are
|
||||||
not stored in the instruction. High 20 bits installed in bits 7 through 26
|
not stored in the instruction. The high 20 bits are installed in bits 26
|
||||||
of instruction. */
|
through 7 of the instruction. */
|
||||||
BFD_RELOC_ARC_B22_PCREL,
|
BFD_RELOC_ARC_B22_PCREL,
|
||||||
|
|
||||||
|
/* ARC 26 bit absolute branch. The lowest two bits must be zero and are not
|
||||||
|
stored in the instruction. The high 24 bits are installed in bits 23
|
||||||
|
through 0. */
|
||||||
|
BFD_RELOC_ARC_B26,
|
||||||
/* end-sanitize-arc */
|
/* end-sanitize-arc */
|
||||||
|
|
||||||
BFD_RELOC_UNUSED };
|
BFD_RELOC_UNUSED };
|
||||||
@ -1820,6 +1897,7 @@ struct _bfd
|
|||||||
struct lynx_core_struct *lynx_core_data;
|
struct lynx_core_struct *lynx_core_data;
|
||||||
struct osf_core_struct *osf_core_data;
|
struct osf_core_struct *osf_core_data;
|
||||||
struct cisco_core_struct *cisco_core_data;
|
struct cisco_core_struct *cisco_core_data;
|
||||||
|
struct versados_data_struct *versados_data;
|
||||||
PTR any;
|
PTR any;
|
||||||
} tdata;
|
} tdata;
|
||||||
|
|
||||||
@ -1864,6 +1942,14 @@ bfd_errmsg PARAMS ((bfd_error_type error_tag));
|
|||||||
void
|
void
|
||||||
bfd_perror PARAMS ((CONST char *message));
|
bfd_perror PARAMS ((CONST char *message));
|
||||||
|
|
||||||
|
typedef void (*bfd_error_handler_type) PARAMS ((const char *, ...));
|
||||||
|
|
||||||
|
bfd_error_handler_type
|
||||||
|
bfd_set_error_handler PARAMS ((bfd_error_handler_type));
|
||||||
|
|
||||||
|
void
|
||||||
|
bfd_set_error_program_name PARAMS ((const char *));
|
||||||
|
|
||||||
long
|
long
|
||||||
bfd_get_reloc_upper_bound PARAMS ((bfd *abfd, asection *sect));
|
bfd_get_reloc_upper_bound PARAMS ((bfd *abfd, asection *sect));
|
||||||
|
|
||||||
@ -1907,6 +1993,18 @@ bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
|||||||
#define bfd_copy_private_bfd_data(ibfd, obfd) \
|
#define bfd_copy_private_bfd_data(ibfd, obfd) \
|
||||||
BFD_SEND (ibfd, _bfd_copy_private_bfd_data, \
|
BFD_SEND (ibfd, _bfd_copy_private_bfd_data, \
|
||||||
(ibfd, obfd))
|
(ibfd, obfd))
|
||||||
|
boolean
|
||||||
|
bfd_merge_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
||||||
|
|
||||||
|
#define bfd_merge_private_bfd_data(ibfd, obfd) \
|
||||||
|
BFD_SEND (ibfd, _bfd_merge_private_bfd_data, \
|
||||||
|
(ibfd, obfd))
|
||||||
|
boolean
|
||||||
|
bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags));
|
||||||
|
|
||||||
|
#define bfd_set_private_flags(abfd, flags) \
|
||||||
|
BFD_SEND (abfd, _bfd_set_private_flags, \
|
||||||
|
(abfd, flags))
|
||||||
#define bfd_sizeof_headers(abfd, reloc) \
|
#define bfd_sizeof_headers(abfd, reloc) \
|
||||||
BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, reloc))
|
BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, reloc))
|
||||||
|
|
||||||
@ -1933,10 +2031,6 @@ bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
|||||||
#define bfd_set_arch_mach(abfd, arch, mach)\
|
#define bfd_set_arch_mach(abfd, arch, mach)\
|
||||||
BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
|
BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach))
|
||||||
|
|
||||||
#define bfd_get_relocated_section_contents(abfd, link_info, link_order, data, relocateable, symbols) \
|
|
||||||
BFD_SEND (abfd, _bfd_get_relocated_section_contents, \
|
|
||||||
(abfd, link_info, link_order, data, relocateable, symbols))
|
|
||||||
|
|
||||||
#define bfd_relax_section(abfd, section, link_info, again) \
|
#define bfd_relax_section(abfd, section, link_info, again) \
|
||||||
BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
|
BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again))
|
||||||
|
|
||||||
@ -1964,6 +2058,11 @@ bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
|||||||
#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
|
#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \
|
||||||
BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
|
BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms))
|
||||||
|
|
||||||
|
extern bfd_byte *bfd_get_relocated_section_contents
|
||||||
|
PARAMS ((bfd *, struct bfd_link_info *,
|
||||||
|
struct bfd_link_order *, bfd_byte *,
|
||||||
|
boolean, asymbol **));
|
||||||
|
|
||||||
symindex
|
symindex
|
||||||
bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
|
bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
|
||||||
|
|
||||||
@ -2019,7 +2118,7 @@ enum bfd_flavour {
|
|||||||
bfd_target_srec_flavour,
|
bfd_target_srec_flavour,
|
||||||
bfd_target_som_flavour,
|
bfd_target_som_flavour,
|
||||||
bfd_target_os9k_flavour,
|
bfd_target_os9k_flavour,
|
||||||
bfd_target_msdos_flavour
|
bfd_target_versados_flavour
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Forward declaration. */
|
/* Forward declaration. */
|
||||||
@ -2078,14 +2177,21 @@ CAT(NAME,_get_section_contents)
|
|||||||
/* Entry points to copy private data. */
|
/* Entry points to copy private data. */
|
||||||
#define BFD_JUMP_TABLE_COPY(NAME)\
|
#define BFD_JUMP_TABLE_COPY(NAME)\
|
||||||
CAT(NAME,_bfd_copy_private_bfd_data),\
|
CAT(NAME,_bfd_copy_private_bfd_data),\
|
||||||
CAT(NAME,_bfd_copy_private_section_data)
|
CAT(NAME,_bfd_merge_private_bfd_data),\
|
||||||
|
CAT(NAME,_bfd_copy_private_section_data),\
|
||||||
|
CAT(NAME,_bfd_set_private_flags)
|
||||||
/* Called to copy BFD general private data from one object file
|
/* Called to copy BFD general private data from one object file
|
||||||
to another. */
|
to another. */
|
||||||
boolean (*_bfd_copy_private_bfd_data) PARAMS ((bfd *, bfd *));
|
boolean (*_bfd_copy_private_bfd_data) PARAMS ((bfd *, bfd *));
|
||||||
|
/* Called to merge BFD general private data from one object file
|
||||||
|
to a common output file when linking. */
|
||||||
|
boolean (*_bfd_merge_private_bfd_data) PARAMS ((bfd *, bfd *));
|
||||||
/* Called to copy BFD private section data from one object file
|
/* Called to copy BFD private section data from one object file
|
||||||
to another. */
|
to another. */
|
||||||
boolean (*_bfd_copy_private_section_data) PARAMS ((bfd *, sec_ptr,
|
boolean (*_bfd_copy_private_section_data) PARAMS ((bfd *, sec_ptr,
|
||||||
bfd *, sec_ptr));
|
bfd *, sec_ptr));
|
||||||
|
/* Called to set private backend flags */
|
||||||
|
boolean (*_bfd_set_private_flags) PARAMS ((bfd *, flagword));
|
||||||
|
|
||||||
/* Core file entry points. */
|
/* Core file entry points. */
|
||||||
#define BFD_JUMP_TABLE_CORE(NAME)\
|
#define BFD_JUMP_TABLE_CORE(NAME)\
|
||||||
|
Reference in New Issue
Block a user