From: "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" Date: 2024-08-19T05:44:21+00:00 Subject: [ruby-core:118888] [Ruby master Bug#20677] error: mach-o section specifier requires a segment whose length is between 1 and 16 characters Issue #20677 has been updated by kjtsanaktsidis (KJ Tsanaktsidis). > deciding if BTI/PAC is available. Silly me, this is about amd64. So what you're running into is that I added a `.note.gnu.property` to the amd64 one in https://github.com/ruby/ruby/commit/8ec67052e67dff62b828820e381a94a3acc73459 and it's unconditional in whether the __CET__ macro is defined or not. The arm64 property only gets emitted if BTI/PAC-RET is enabled. I actually don't understand how this works at all even on modern macOS; AFAICT the max section size is still 16 chars (https://github.com/llvm/llvm-project/blob/82fdfd4aa7f60b1f8e715211b925a7f2bfe57ea9/llvm/lib/MC/MCSectionMachO.cpp#L208-L211). Looking into it some more... ---------------------------------------- Bug #20677: error: mach-o section specifier requires a segment whose length is between 1 and 16 characters https://bugs.ruby-lang.org/issues/20677#change-109459 * Author: ryandesign (Ryan Carsten Schmidt) * Status: Open * Assignee: kjtsanaktsidis (KJ Tsanaktsidis) * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- 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. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/