mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-28 04:13:28 +08:00
ld/x86-64: Properly Handle -z lam-u48/lam-u57
Properly merge GNU properties for LAM_U48 and LAM_U57. bfd/ PR ld/27166 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle -z lam-u48 and -z lam-u57. ld/ PR ld/27166 * testsuite/ld-x86-64/lam-u48.rd: New file. * testsuite/ld-x86-64/lam-u57.rd: Likewise. * testsuite/ld-x86-64/x86-64.exp: Add PR ld/27166 tests.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/27166
|
||||
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle
|
||||
-z lam-u48 and -z lam-u57.
|
||||
|
||||
2021-01-09 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* version.m4: Change to 2.36.50.
|
||||
|
@ -2449,8 +2449,15 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
|
||||
features = GNU_PROPERTY_X86_FEATURE_1_IBT;
|
||||
if (htab->params->shstk)
|
||||
features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
|
||||
/* Add GNU_PROPERTY_X86_FEATURE_1_IBT and
|
||||
GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
|
||||
if (htab->params->lam_u48)
|
||||
features |= (GNU_PROPERTY_X86_FEATURE_1_LAM_U48
|
||||
| GNU_PROPERTY_X86_FEATURE_1_LAM_U57);
|
||||
else if (htab->params->lam_u57)
|
||||
features |= GNU_PROPERTY_X86_FEATURE_1_LAM_U57;
|
||||
/* Add GNU_PROPERTY_X86_FEATURE_1_IBT,
|
||||
GNU_PROPERTY_X86_FEATURE_1_SHSTK,
|
||||
GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and
|
||||
GNU_PROPERTY_X86_FEATURE_1_LAM_U57. */
|
||||
aprop->u.number |= features;
|
||||
}
|
||||
updated = number != (unsigned int) aprop->u.number;
|
||||
@ -2470,6 +2477,11 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
|
||||
features = GNU_PROPERTY_X86_FEATURE_1_IBT;
|
||||
if (htab->params->shstk)
|
||||
features |= GNU_PROPERTY_X86_FEATURE_1_SHSTK;
|
||||
if (htab->params->lam_u48)
|
||||
features |= (GNU_PROPERTY_X86_FEATURE_1_LAM_U48
|
||||
| GNU_PROPERTY_X86_FEATURE_1_LAM_U57);
|
||||
else if (htab->params->lam_u57)
|
||||
features |= GNU_PROPERTY_X86_FEATURE_1_LAM_U57;
|
||||
}
|
||||
if (features)
|
||||
{
|
||||
|
@ -1,3 +1,10 @@
|
||||
2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/27166
|
||||
* testsuite/ld-x86-64/lam-u48.rd: New file.
|
||||
* testsuite/ld-x86-64/lam-u57.rd: Likewise.
|
||||
* testsuite/ld-x86-64/x86-64.exp: Add PR ld/27166 tests.
|
||||
|
||||
2021-01-09 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
6
ld/testsuite/ld-x86-64/lam-u48.rd
Normal file
6
ld/testsuite/ld-x86-64/lam-u48.rd
Normal file
@ -0,0 +1,6 @@
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
|
||||
#...
|
||||
Properties: x86 feature: .*LAM_U48, LAM_U57.*
|
||||
#pass
|
6
ld/testsuite/ld-x86-64/lam-u57.rd
Normal file
6
ld/testsuite/ld-x86-64/lam-u57.rd
Normal file
@ -0,0 +1,6 @@
|
||||
Displaying notes found in: .note.gnu.property
|
||||
[ ]+Owner[ ]+Data size[ ]+Description
|
||||
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
|
||||
#...
|
||||
Properties: x86 feature: .*LAM_U57.*
|
||||
#pass
|
@ -1452,6 +1452,22 @@ if { [isnative] && [check_compiler_available] } {
|
||||
{{error_output "pr21997-1b.err"}} \
|
||||
"pr21997-1b" \
|
||||
] \
|
||||
[list \
|
||||
"Build lam-u48.so" \
|
||||
"-shared -Wl,-z,lam-u48" \
|
||||
"" \
|
||||
{dummy.s} \
|
||||
{{readelf -n lam-u48.rd}} \
|
||||
"lam-u48.so" \
|
||||
] \
|
||||
[list \
|
||||
"Build lam-u57.so" \
|
||||
"-shared -Wl,-z,lam-u57" \
|
||||
"" \
|
||||
{dummy.s} \
|
||||
{{readelf -n lam-u57.rd}} \
|
||||
"lam-u57.so" \
|
||||
] \
|
||||
]
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user