aboutsummaryrefslogtreecommitdiff
path: root/ld/ldgram.y
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-08-07 19:34:59 +0000
committerSteve Chamberlain <sac@cygnus>1992-08-07 19:34:59 +0000
commitae475b39b2c0aa785d265bb0b6baa44de30c415c (patch)
tree061b7217353e3f0e658b6fc01a45bc885f017872 /ld/ldgram.y
parentf6492282df033583f56eb2d910719f3274f2ddf2 (diff)
downloadfsf-binutils-gdb-ae475b39b2c0aa785d265bb0b6baa44de30c415c.zip
fsf-binutils-gdb-ae475b39b2c0aa785d265bb0b6baa44de30c415c.tar.gz
fsf-binutils-gdb-ae475b39b2c0aa785d265bb0b6baa44de30c415c.tar.bz2
* ldlang.h: add new field "loadable" to output_section_statement.
* ldlang.c (lang_output_section_statement_lookup): initilize new field. (wild_doit): if new field is not set, then stop output section from being loadable. (lang_enter_output_section_statement): set the field from the NOLOAD keyword * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too. * h8300hms.sc-sh, h8300hms.em: get -r right.
Diffstat (limited to 'ld/ldgram.y')
-rw-r--r--ld/ldgram.y16
1 files changed, 9 insertions, 7 deletions
diff --git a/ld/ldgram.y b/ld/ldgram.y
index 7639ab1..12acc19 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -299,7 +299,7 @@ command_line_option:
{ lang_add_input_file($1,lang_input_file_is_file_enum,
(char *)NULL); }
| OPTION_c filename
- { ldfile_open_command_file($2); } mri_script_file END { ldlex_command()};
+ { ldfile_open_command_file($2); } mri_script_file END { ldlex_command();}
| OPTION_Tfile
{ ldfile_open_command_file($1); } script_file
@@ -327,7 +327,7 @@ END { ldlex_command();}
lang_add_assignment(exp_assop($4,$3,$5));
}
| '-' NAME
- { info("%P%F Unrecognised option -%s\n", $2); }
+ { info("%P%F Unrecognized option -%s\n", $2); }
| '{' script_file '}'
;
@@ -747,6 +747,8 @@ exp :
{ $$ = exp_nameop(SIZEOF,$3); }
| ADDR '(' NAME ')'
{ $$ = exp_nameop(ADDR,$3); }
+ | ABSOLUTE '(' exp ')'
+ { $$ = exp_unop(ABSOLUTE, $3); }
| ALIGN_K '(' exp ')'
{ $$ = exp_unop(ALIGN_K,$3); }
| NAME
@@ -772,11 +774,11 @@ opt_comma
;
opt_type:
- '(' NOLOAD ')' { $$ = SEC_NO_FLAGS; }
- | '(' DSECT ')' { $$ = 0; }
- | '(' COPY ')' { $$ = 0; }
- | '(' INFO ')' { $$ = 0; }
- | '(' OVERLAY ')' { $$ = 0; }
+ NOLOAD { $$ = SEC_NEVER_LOAD; }
+ | DSECT { $$ = 0; }
+ | COPY { $$ = 0; }
+ | INFO { $$ = 0; }
+ | OVERLAY { $$ = 0; }
| { $$ = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS; }
;