aboutsummaryrefslogtreecommitdiff
path: root/GnuLdParser.g4
diff options
context:
space:
mode:
Diffstat (limited to 'GnuLdParser.g4')
-rw-r--r--GnuLdParser.g418
1 files changed, 12 insertions, 6 deletions
diff --git a/GnuLdParser.g4 b/GnuLdParser.g4
index 36d4515..0d2bf4b 100644
--- a/GnuLdParser.g4
+++ b/GnuLdParser.g4
@@ -213,17 +213,23 @@ wildcard_name:
| QUESTION
;
+// SORT(*) and SORT_BY_NAME(*) both mean the same
+sort_by_name:
+ SORT
+ | SORT_BY_NAME
+ ;
+
wildcard_spec:
wildcard_name
| EXCLUDE_FILE LPAREN exclude_name_list RPAREN wildcard_name
- | SORT_BY_NAME LPAREN wildcard_name RPAREN
+ | sort_by_name LPAREN wildcard_name RPAREN
| SORT_BY_ALIGNMENT LPAREN wildcard_name RPAREN
| SORT_NONE LPAREN wildcard_name RPAREN
- | SORT_BY_NAME LPAREN SORT_BY_ALIGNMENT LPAREN wildcard_name RPAREN RPAREN
- | SORT_BY_NAME LPAREN SORT_BY_NAME LPAREN wildcard_name RPAREN RPAREN
- | SORT_BY_ALIGNMENT LPAREN SORT_BY_NAME LPAREN wildcard_name RPAREN RPAREN
+ | sort_by_name LPAREN SORT_BY_ALIGNMENT LPAREN wildcard_name RPAREN RPAREN
+ | sort_by_name LPAREN sort_by_name LPAREN wildcard_name RPAREN RPAREN
+ | SORT_BY_ALIGNMENT LPAREN sort_by_name LPAREN wildcard_name RPAREN RPAREN
| SORT_BY_ALIGNMENT LPAREN SORT_BY_ALIGNMENT LPAREN wildcard_name RPAREN RPAREN
- | SORT_BY_NAME LPAREN EXCLUDE_FILE LPAREN exclude_name_list RPAREN wildcard_name RPAREN
+ | sort_by_name LPAREN EXCLUDE_FILE LPAREN exclude_name_list RPAREN wildcard_name RPAREN
| SORT_BY_INIT_PRIORITY LPAREN wildcard_name RPAREN
;
@@ -265,7 +271,7 @@ statement:
| CREATE_OBJECT_SYMBOLS
| SEMICOLON
| CONSTRUCTORS
- | SORT_BY_NAME LPAREN CONSTRUCTORS RPAREN
+ | sort_by_name LPAREN CONSTRUCTORS RPAREN
| input_section_spec
| length LPAREN mustbe_exp RPAREN
| FILL LPAREN fill_exp RPAREN