Bug #20677
closed
error: mach-o section specifier requires a segment whose length is between 1 and 16 characters
Added by ryandesign (Ryan Carsten Schmidt) 3 months ago.
Updated 2 months ago.
Description
ruby (the development version as of 2024-08-11) does not build on macOS 11 or earlier with Apple Clang 1300 or earlier:
coroutine/amd64/Context.S:74:14: error: mach-o section specifier requires a segment whose length is between 1 and 16 characters
.pushsection .note.gnu.property, "a"
^
coroutine/amd64/Context.S:86:12: error: .popsection without corresponding .pushsection
.popsection
^
make: *** [coroutine/amd64/Context.o] Error 1
Here is the bug I filed with MacPorts about this: https://trac.macports.org/ticket/70537
It does build on newer systems with Apple Clang 1316 or later and on older systems when using a newer llvm.org clang compiler but it would be better if a newer compiler were not required.
- Related to Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found added
- Assignee set to kjtsanaktsidis (KJ Tsanaktsidis)
Ah. I might have to add some feature detection to the configure script for this when deciding if BTI/PAC is available.
Can you tell me, does it work if you compile with ASFLAGS=-fno-integrated-as
?
https://github.com/ruby/ruby/pull/11405 - I think this should fix it. It seems new toolchains truncate the section name, rather than throwing that error about "length is between 1 and 16 characters", but in any case the section is meaningless on MacOS so it's best to just not emit it.
- Status changed from Open to Closed
Applied in changeset git|86c2724e75375ceb165c378ed4261c551136e593.
Don't emit ELF notes on non-ELF platforms
These apparently break compilation on old MacOS toolchains, because the
MachO section name is capped to 16 chars (although, on my MacOS, at
least, the section name just gets truncated). Nevertheless, these serve
no purpose on non-ELF platforms (they're part of the LSB Linux ABI).
[Bug #20677]
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0