Check unsupported .symver with common symbol
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 26 Jun 2017 12:11:07 +0000 (05:11 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 26 Jun 2017 12:11:29 +0000 (05:11 -0700)
commita3aea05a66ec325ddd19b0c8dbe504958a295cd3
tree48a9ccef7ac053c755efcce87e653942fa7a2525
parentfd52715cfa77b7e06f4ab5eadfe7946d22180adc
Check unsupported .symver with common symbol

The .symver directive on common symbol creates a new common symbol,
which shouldn't be allowed, similar to alias on common symbol:

$ cat y.S
.comm bar,8,8
 .set bar1,bar
$ as -o y.o y.S
y.S: Assembler messages:
y.S:2: Error: `bar1' can't be equated to common symbol 'bar'
$

PR gas/21661
* config/obj-elf.c (obj_elf_symver): Don't allow .symver with
common symbol.
(elf_frob_symbol): Likewise.
* testsuite/gas/elf/elf.exp: Run pr21661.
* testsuite/gas/elf/pr21661.d: New file.
* testsuite/gas/elf/pr21661.s: Likewise.
gas/ChangeLog
gas/config/obj-elf.c
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/pr21661.d [new file with mode: 0644]
gas/testsuite/gas/elf/pr21661.l [new file with mode: 0644]
gas/testsuite/gas/elf/pr21661.s [new file with mode: 0644]