diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2016-07-17 16:03:47 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2016-07-17 16:03:47 +0200 |
commit | 0f57cc9750282ce0284fe69b06f161dea2bfc8cb (patch) | |
tree | 50afd51fec2d05752cc49441ae47c40aa831cf84 /GnuLdParser.g4 | |
parent | c5e53ec8da9b11e351893742096f76e2bceb5730 (diff) | |
download | elfinfo-0f57cc9750282ce0284fe69b06f161dea2bfc8cb.tar.gz elfinfo-0f57cc9750282ce0284fe69b06f161dea2bfc8cb.tar.bz2 elfinfo-0f57cc9750282ce0284fe69b06f161dea2bfc8cb.tar.xz elfinfo-0f57cc9750282ce0284fe69b06f161dea2bfc8cb.zip |
parser/lexer:
o Support special '/DISCARD/' as NAME.
o Add 'SORT' as a token. It is equivalent with SORT_BY_NAME. The new rule sort_by_name coverts both.
Ld:
o Don't die on unknown sections, they can be referenced before declared. Doesn't matter for this app anyway.
Diffstat (limited to 'GnuLdParser.g4')
-rw-r--r-- | GnuLdParser.g4 | 18 |
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 |