]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dlopen: fix build on 'alpha'
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 4 Jun 2026 13:37:56 +0000 (14:37 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 4 Jun 2026 19:36:32 +0000 (04:36 +0900)
On alpha '.set' is overridden to mean something else, so the build
fails:

/tmp/ccckEb4p.s:11442: Warning: Tried to .set unrecognized mode `sd_dlopen:[{"feature":"lzma","description":"Support lzma compression in journal and coredump files","priority":"suggested","soname":["liblzma.so.5"]}]'
/tmp/ccckEb4p.s:11442: Error: junk at end of line, first unrecognized character is `,'

Switch to '.equ' which seems to do the job just as well, and builds
on alpha too.

Follow-up for 56a7febca7cd68a10cb85c6d8123db63217f4079

src/systemd/sd-dlopen.h

index f9fe9584fb2b4702826c04b63e305d196a08a800..006bd63aeeb2abdd5be03bc0093a81ec47ea344f 100644 (file)
@@ -68,7 +68,7 @@ extern "C" {
 #define _SD_ELF_NOTE_DLOPEN(json)                                                                                               \
         __asm__ (                                                                                                               \
                 ".ifndef \"sd_dlopen:" json "\"\n"                                                                              \
-                ".set \"sd_dlopen:" json "\", 1\n"                                                                              \
+                ".equ \"sd_dlopen:" json "\", 1\n" /* guard tag, avoid using 'set' as it breaks builds on alpha */              \
                 ".pushsection .note.dlopen, \"" _SD_ELF_NOTE_DLOPEN_SECTION_FLAGS "\", %note, \"sd_dlopen:" json "\", comdat\n" \
                 ".balign 4\n"         /* notes require 4-byte alignment for the header and fields */                            \
                 ".long 884f - 883f\n" /* n_namesz: byte length of the vendor name (label 883->884) */                           \