Line 298... |
Line 298... |
/* Conditionally link this section; do not link if there are no
|
/* Conditionally link this section; do not link if there are no
|
references found to any symbol in the section. This is for TI
|
references found to any symbol in the section. This is for TI
|
TMS320C54X only. */
|
TMS320C54X only. */
|
#define SEC_TIC54X_CLINK 0x20000000
|
#define SEC_TIC54X_CLINK 0x20000000
|
|
|
|
/* Indicate that section has the no read flag set. This happens
|
|
when memory read flag isn't set. */
|
|
#define SEC_COFF_NOREAD 0x40000000
|
|
|
/* End of section flags. */
|
/* End of section flags. */
|
|
|
/* Some internal packed boolean fields. */
|
/* Some internal packed boolean fields. */
|
|
|
/* See the vma field. */
|
/* See the vma field. */
|
Line 337... |
Line 341... |
these fields. */
|
these fields. */
|
|
|
/* Nonzero if this section has TLS related relocations. */
|
/* Nonzero if this section has TLS related relocations. */
|
unsigned int has_tls_reloc:1;
|
unsigned int has_tls_reloc:1;
|
|
|
|
/* Nonzero if this section has a call to __tls_get_addr. */
|
|
unsigned int has_tls_get_addr_call:1;
|
|
|
/* Nonzero if this section has a gp reloc. */
|
/* Nonzero if this section has a gp reloc. */
|
unsigned int has_gp_reloc:1;
|
unsigned int has_gp_reloc:1;
|
|
|
/* Nonzero if this section needs the relax finalize pass. */
|
/* Nonzero if this section needs the relax finalize pass. */
|
unsigned int need_finalize_relax:1;
|
unsigned int need_finalize_relax:1;
|
Line 376... |
Line 383... |
targets), and thus the original size needs to be kept to read the
|
targets), and thus the original size needs to be kept to read the
|
section multiple times. For output sections, rawsize holds the
|
section multiple times. For output sections, rawsize holds the
|
section size calculated on a previous linker relaxation pass. */
|
section size calculated on a previous linker relaxation pass. */
|
bfd_size_type rawsize;
|
bfd_size_type rawsize;
|
|
|
|
/* Relaxation table. */
|
|
struct relax_table *relax;
|
|
|
|
/* Count of used relaxation table entries. */
|
|
int relax_count;
|
|
|
|
|
/* If this section is going to be output, then this value is the
|
/* If this section is going to be output, then this value is the
|
offset in *bytes* into the output section of the first byte in the
|
offset in *bytes* into the output section of the first byte in the
|
input section (byte ==> smallest addressable unit on the
|
input section (byte ==> smallest addressable unit on the
|
target). In most cases, if this was going to start at the
|
target). In most cases, if this was going to start at the
|
100th octet (8-bit quantity) in the output section, this value
|
100th octet (8-bit quantity) in the output section, this value
|
Line 465... |
Line 479... |
struct bfd_link_order *link_order;
|
struct bfd_link_order *link_order;
|
struct bfd_section *s;
|
struct bfd_section *s;
|
@} map_head, map_tail;
|
@} map_head, map_tail;
|
@} asection;
|
@} asection;
|
|
|
|
/* Relax table contains information about instructions which can
|
|
be removed by relaxation -- replacing a long address with a
|
|
short address. */
|
|
struct relax_table @{
|
|
/* Address where bytes may be deleted. */
|
|
bfd_vma addr;
|
|
|
|
/* Number of bytes to be deleted. */
|
|
int size;
|
|
@};
|
|
|
/* These sections are global, and are managed by BFD. The application
|
/* These sections are global, and are managed by BFD. The application
|
and target back end are not permitted to change the values in
|
and target back end are not permitted to change the values in
|
these sections. New code should use the section_ptr macros rather
|
these sections. New code should use the section_ptr macros rather
|
than referring directly to the const sections. The const sections
|
than referring directly to the const sections. The const sections
|
may eventually vanish. */
|
may eventually vanish. */
|
Line 597... |
Line 622... |
0, 0, 1, \
|
0, 0, 1, \
|
\
|
\
|
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
|
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
|
0, 0, 0, 0, \
|
0, 0, 0, 0, \
|
\
|
\
|
/* has_gp_reloc, need_finalize_relax, reloc_done, */ \
|
/* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */ \
|
0, 0, 0, \
|
0, 0, 0, \
|
\
|
\
|
/* vma, lma, size, rawsize */ \
|
/* reloc_done, vma, lma, size, rawsize, relax, relax_count, */ \
|
0, 0, 0, 0, \
|
0, 0, 0, 0, 0, 0, 0, \
|
\
|
\
|
/* output_offset, output_section, alignment_power, */ \
|
/* output_offset, output_section, alignment_power, */ \
|
0, (struct bfd_section *) &SEC, 0, \
|
0, (struct bfd_section *) &SEC, 0, \
|
\
|
\
|
/* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \
|
/* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \
|