diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-04-29 11:43:53 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-04-29 11:43:53 +0200 |
commit | 44f871628ccfcfd931f4619c60554f3bd6b57b8d (patch) | |
tree | ee91ff51c0f4b7bf3adc4297e6c4f782fc22ba5c /gas/ChangeLog | |
parent | 8eb82ba1fdc052d2bb08ec6f0d98b8d2c10edd17 (diff) | |
download | gdb-44f871628ccfcfd931f4619c60554f3bd6b57b8d.zip gdb-44f871628ccfcfd931f4619c60554f3bd6b57b8d.tar.gz gdb-44f871628ccfcfd931f4619c60554f3bd6b57b8d.tar.bz2 |
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.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r-- | gas/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5d341e8..e36170a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2021-04-29 Jan Beulich <jbeulich@suse.com> + + * config/tc-i386.c (tc_gen_reloc): Use section size for section + symbols when resolving BFD_RELOC_SIZE*. + * testsuite/gas/i386/size-2.s: Add section size cases. + * testsuite/gas/i386/size-2.d, + testsuite/gas/i386/x86-64-size-2.d: Adjust expectations. + 2021-04-28 Jan Beulich <jbeulich@suse.com> H.J. Lu <hjl.tools@gmail.com> |