Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:openSUSE:Factory:rpmlint
yasm
yasm-Update-elf-objfmt.c.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File yasm-Update-elf-objfmt.c.patch of Package yasm
From: kalebskeithley <kaleb@redhat.com> Date: Thu, 21 May 2020 09:12:36 -0400 Subject: [PATCH] Update elf-objfmt.c tl;dnr: add support for note.gnu.property note sections. ceph has a few optimized crc32 routines hand written in assembly in yasm format. (Nobody appears to have the stomach for rewriting them in another format.) Fedora requires that libraries be CET enabled. IOW all .o comprising a shared library need a note.gnu.properties NOTE section with some magic bits that tell the linker that the .o was compiled with the appropriate options. I can add such a note section, but without this change yasm will not set the correct section flag and I have to resort to some dd magic to set the correct section type before linking all the .o files into the shlib. --- modules/objfmts/elf/elf-objfmt.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/objfmts/elf/elf-objfmt.c b/modules/objfmts/elf/elf-objfmt.c index 0c3a1426..c4360c03 100644 --- a/modules/objfmts/elf/elf-objfmt.c +++ b/modules/objfmts/elf/elf-objfmt.c @@ -1077,6 +1077,10 @@ elf_objfmt_section_switch(yasm_object *object, yasm_valparamhead *valparams, align = 0; data.type = SHT_PROGBITS; data.flags = 0; + } else if (strcmp(sectname, ".note.gnu.property") == 0) { + align = 8; + data.type = SHT_NOTE; + data.flags = 0; } else { /* Default to code */ align = 1;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor