diff options
author | Ian Lance Taylor <ian@airs.com> | 1997-01-31 15:47:41 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1997-01-31 15:47:41 +0000 |
commit | a75abb6f0ad78833199bd16476e6babbd70738be (patch) | |
tree | 173093f63e87ff4f026c052ee53a7b39203bf3b4 | |
parent | 8275482ce0340bf13293a1b7bb6bf3c03ed79873 (diff) | |
download | gdb-a75abb6f0ad78833199bd16476e6babbd70738be.zip gdb-a75abb6f0ad78833199bd16476e6babbd70738be.tar.gz gdb-a75abb6f0ad78833199bd16476e6babbd70738be.tar.bz2 |
* write.c (relax_segment): Give an error if a .space symbol is
common or undefined.
* read.c (read_a_source_file): Don't handle mri_pending_align if
the handler is s_globl or s_ignore.
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/read.c | 4 | ||||
-rw-r--r-- | gas/write.c | 7 |
3 files changed, 16 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 86a744a..171ea2d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +Fri Jan 31 10:46:14 1997 Ian Lance Taylor <ian@cygnus.com> + + * write.c (relax_segment): Give an error if a .space symbol is + common or undefined. + + * read.c (read_a_source_file): Don't handle mri_pending_align if + the handler is s_globl or s_ignore. + Thu Jan 30 11:46:59 1997 Fred Fish <fnf@cygnus.com> * config/tc-d10v.c (find_opcode): Remove unused variable "numops". @@ -719,7 +719,9 @@ read_a_source_file (name) || pop->poc_handler == s_ifc || pop->poc_handler == s_ifeqs || pop->poc_handler == s_else - || pop->poc_handler == s_endif))) + || pop->poc_handler == s_endif + || pop->poc_handler == s_globl + || pop->poc_handler == s_ignore))) { do_align (1, (char *) NULL, 0); mri_pending_align = 0; diff --git a/gas/write.c b/gas/write.c index 7f2b74d..0cd68c3 100644 --- a/gas/write.c +++ b/gas/write.c @@ -2202,8 +2202,11 @@ relax_segment (segment_frag_root, segment) if (symbolP) { growth = S_GET_VALUE (symbolP); - if (symbolP->sy_frag != &zero_address_frag) - as_bad (".space specifies non-absolute value"); + if (symbolP->sy_frag != &zero_address_frag + || S_IS_COMMON (symbolP) + || ! S_IS_DEFINED (symbolP)) + as_bad_where (fragP->fr_file, fragP->fr_line, + ".space specifies non-absolute value"); fragP->fr_symbol = 0; if (growth < 0) { |