[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

XZ utils fails to build from source on hurd/x86

Hi Larhzu and Hurd porters,

XZ utils fails to build on the Hurd, with the following message [1]:

src/liblzma/check/crc32_x86.S: Assembler messages:
src/liblzma/check/crc32_x86.S:280: Error: character following name is not '#'
src/liblzma/check/crc32_x86.S:282: Error: unknown pseudo-op: `.indirect_symbol'
make[6]: *** [liblzma_la-crc32_x86.lo] Error 1

I am no expert in these things, but it looks as though the assembly
code checks for Mach-O format with __MACH__, but Hurd, which uses ELF,
defines that symbol to convey it uses the Mach microkernel. If this is
right, what preprocessor symbol should be checked instead?

Unrelated, but while I have your attention I thought I should ask: the
same files emit a .note.GNU-stack section for a non-executable stack
only if __ELF__ and __linux__ are defined. Is there a better
conditional to use to make that work more widely?

I look forward to your thoughts.  (I am not subscribed to the
debian-hurd mailing list, so please CC me when appropriate.)


[1] Full log:
The sources built correspond to commit ebfb2c5 in xz.git.

Reply to: