mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
ld: Support input section description keyword: REVERSE
PR 27565 * ldlex.l: Add REVERSE. * ldgram.y: Allow REVERSE to be used wherever a sorting command can be used. * ld.h (struct wildcard_spec): Add 'reversed' field. * ldlang.h (lang_wild_statement_struct): Add 'filenames_reversed' field. * ldlang.c (compare_sections): Add reversed parameter. (wild_sort): Reverse the comparison if requested. (print_wild_statement): Handle the reversed field. * ld.texi: Document the new feature. * NEWS: Mention the new feature. * testsuite/ld-scripts/sort-file-reversed-1.d: New test driver. * testsuite/ld-scripts/sort-file-reversed-1.t: New test source. * testsuite/ld-scripts/sort-file-reversed-2.t: New test source. * testsuite/ld-scripts/sort-file-reversed-2.d: New test driver. * testsuite/ld-scripts/sort-sections-reversed-1.d: New test driver. * testsuite/ld-scripts/sort-sections-reversed-1.t: New test source. * testsuite/ld-scripts/sort-sections-reversed-2.t: New test source. * testsuite/ld-scripts/sort-sections-reversed-2.d: New test driver. * testsuite/ld-scripts/sort-sections-reversed-3.d: New test driver. * testsuite/ld-scripts/sort-sections-reversed-3.t: New test source.
This commit is contained in:
25
ld/ldlang.h
25
ld/ldlang.h
@@ -390,18 +390,19 @@ typedef struct lang_section_bst
|
||||
|
||||
struct lang_wild_statement_struct
|
||||
{
|
||||
lang_statement_header_type header;
|
||||
const char *filename;
|
||||
bool filenames_sorted;
|
||||
bool any_specs_sorted;
|
||||
struct wildcard_list *section_list;
|
||||
bool keep_sections;
|
||||
lang_statement_list_type children;
|
||||
struct name_list *exclude_name_list;
|
||||
lang_statement_list_type matching_sections;
|
||||
|
||||
lang_section_bst_type *tree, **rightmost;
|
||||
struct flag_info *section_flag_list;
|
||||
lang_statement_header_type header;
|
||||
lang_statement_list_type children;
|
||||
lang_statement_list_type matching_sections;
|
||||
lang_section_bst_type * tree;
|
||||
lang_section_bst_type ** rightmost;
|
||||
struct wildcard_list * section_list;
|
||||
struct name_list * exclude_name_list;
|
||||
struct flag_info * section_flag_list;
|
||||
const char * filename;
|
||||
bool filenames_sorted;
|
||||
bool filenames_reversed;
|
||||
bool any_specs_sorted;
|
||||
bool keep_sections;
|
||||
};
|
||||
|
||||
typedef struct lang_address_statement_struct
|
||||
|
||||
Reference in New Issue
Block a user