forked from Imagelibrary/binutils-gdb
* Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
* ldexp.h (segment_type): New type. (segments): New variable. * ldexp.c (segments): New variable. (exp_print_token): Handle SEGMENT_START. (fold_binary): Likewise. * ldgram.y (SEGMENT_START): Declare it as a token. (exp): Handle SEGMENT_START. * ldlang.h (lang_address_statement_type): Add segment field. (lang_section_start): Change prototype. * ldlang.c (map_input_to_output_sections): Do not process section assignments if a corresponding SEGMENT_START has already been seen. (lang_section_start): Add segment parameter. * ldlex.l (SEGMENT_START): Add it. * lexsup.c (seg_segment_start): New function. (parse_args): Use it for -Tbss, -Tdata, and -Ttext. * ld.texinfo (SEGMENT_START): Document it. * emulparams/armsymbian.sh (EMBEDDED): Set it. * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment base addresses. Do not map relocations. * NEWS: Mention SEGMENT_START.
This commit is contained in:
@@ -316,6 +316,7 @@ typedef struct lang_address_statement_struct
|
||||
lang_statement_header_type header;
|
||||
const char *section_name;
|
||||
union etree_union *address;
|
||||
const segment_type *segment;
|
||||
} lang_address_statement_type;
|
||||
|
||||
typedef struct
|
||||
@@ -461,7 +462,7 @@ extern void lang_final
|
||||
extern void lang_process
|
||||
(void);
|
||||
extern void lang_section_start
|
||||
(const char *, union etree_union *);
|
||||
(const char *, union etree_union *, const segment_type *);
|
||||
extern void lang_add_entry
|
||||
(const char *, bfd_boolean);
|
||||
extern void lang_add_target
|
||||
|
||||
Reference in New Issue
Block a user