x86: allow @size to also (sensibly) apply to sections
authorJan Beulich <jbeulich@suse.com>
Thu, 29 Apr 2021 09:43:53 +0000 (11:43 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 29 Apr 2021 09:43:53 +0000 (11:43 +0200)
commit44f871628ccfcfd931f4619c60554f3bd6b57b8d
treeee91ff51c0f4b7bf3adc4297e6c4f782fc22ba5c
parent8eb82ba1fdc052d2bb08ec6f0d98b8d2c10edd17
x86: allow @size to also (sensibly) apply to sections

So far this (counter-intuitively) produced the size as recorded in the
(section) symbol. Obtain the section's size instead for section symbols.
(I wonder whether STT_SECTION symbols couldn't properly hold the
section's size in their st_size field, which in turn would likely mean
the internal symbol would also have its size properly updated.)

Note that this is not the same as the .sizeof.() pseudo-operator: @size
yields the local file's contribution to a section, while .sizeof.() gets
resolved by the linker to produce the final full section's size.

As to the 3rd each of the expected output lines in the changed testcase:
I can't find justification for zzz to come after yyy despite them being
defined in the opposite order in source. Therefore I think it's better
to permit both possible outcomes.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/size-2.d
gas/testsuite/gas/i386/size-2.s
gas/testsuite/gas/i386/x86-64-size-2.d