diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2008-03-03 15:28:58 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2008-03-03 15:28:58 +0000 |
commit | d0548f348f221abbc1241e30f3e346b2c96cc8ad (patch) | |
tree | f485ff2e3e6a2f3fdb34bca5fec55e4a1720f7b8 /gas/symbols.c | |
parent | fa4727a64f112282dc798744b98b0f39bd3458e8 (diff) | |
download | fsf-binutils-gdb-d0548f348f221abbc1241e30f3e346b2c96cc8ad.zip fsf-binutils-gdb-d0548f348f221abbc1241e30f3e346b2c96cc8ad.tar.gz fsf-binutils-gdb-d0548f348f221abbc1241e30f3e346b2c96cc8ad.tar.bz2 |
gas/
2008-03-03 Denys Vlasenko <vda.linux@googlemail.com>
H.J. Lu <hongjiu.lu@intel.com>
PR gas/5543
* read.c (pseudo_set): Don't allow global register symbol.
* symbols.c (S_SET_EXTERNAL): Don't allow register symbol
global.
2008-03-03 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5543
* write.c (write_object_file): Don't allow symbols which were
equated to register. Stop if there is an error.
gas/testsuite/
2008-03-03 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5543
* gas/i386/i386.exp: Run inval-equ-1 and inval-equ-2.
* gas/i386/inval-equ-1.l: New.
* gas/i386/inval-equ-1.s: Likewise.
* gas/i386/inval-equ-2.l: Likewise.
* gas/i386/inval-equ-2.s: Likewise.
Diffstat (limited to 'gas/symbols.c')
-rw-r--r-- | gas/symbols.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/symbols.c b/gas/symbols.c index b631a1d..252cfce 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -2184,6 +2184,12 @@ S_SET_EXTERNAL (symbolS *s) _("section symbols are already global")); return; } + if (S_GET_SEGMENT (s) == reg_section) + { + as_bad ("can't make register symbol `%s' global", + S_GET_NAME (s)); + return; + } s->bsym->flags |= BSF_GLOBAL; s->bsym->flags &= ~(BSF_LOCAL | BSF_WEAK); |