https://sourceware.org/bugzilla/show_bug.cgi?id=32690

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #15947|0                           |1
        is obsolete|                            |

--- Comment #13 from H.J. Lu <hjl.tools at gmail dot com> ---
Created attachment 15949
  --> https://sourceware.org/bugzilla/attachment.cgi?id=15949&action=edit
An updated patch

commit 73ab3b9825d232f0f3a4ad811e88697f9b9ab162
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Thu Jan 30 08:48:45 2025 +0800

    x86-64: Estimate output section layout before sizing dynamic sections

triggered this latent issue.  It can happen without my change.  When
lang_size_relro_segment_1 is called, with the following sections in the
relro segment:

section       vma           size      vma + size
.got          0x320268      0xd80     0x320fe8
.dynamic      0x31ffe8      0x280     0x320268
.data.rel.ro  0x2f3020      0x2cfc8   0x31ffe8
.fini_array   0x2f3008      0x8       0x2f3010
.init_array   0x2f3000      0x8       0x2f3008

the initial relro end is 0x321000.  The desired relro end is adjusted to

1. 0x320280 for .dynamic
2. 0x320000 for .data.rel.ro
3. 0x2f3000 for .fini_array

Now the desired relro end is lower than the .fini_array vma + end.
In this case, set the desired relro end for the previous section,
.init_array, to the aligned end of .fini_array.

4. 0x2f3010 for .init_array.

The final relro end becomes 0x2f3008.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to