From: Ian Lance Taylor Date: Fri, 31 Jan 1997 15:47:41 +0000 (+0000) Subject: * write.c (relax_segment): Give an error if a .space symbol is X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a75abb6f0ad78833199bd16476e6babbd70738be;p=binutils-gdb.git * 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 86a744a2b24..171ea2db555 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +Fri Jan 31 10:46:14 1997 Ian Lance Taylor + + * 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 * config/tc-d10v.c (find_opcode): Remove unused variable "numops". diff --git a/gas/read.c b/gas/read.c index a1b3bdd936e..5e7042936ac 100644 --- a/gas/read.c +++ b/gas/read.c @@ -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 7f2b74d4cc2..0cd68c30f5a 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) {