[systemd-devel] systemd build process, stripped ELF flags (MIPS)
Manuel Lauss
manuel.lauss at gmail.com
Mon Jan 19 00:47:15 PST 2015
Hello,
MIPS Linux recently introduced updates to its FPU ABI, and for that to
work correctly,
ELF binaries now have to have a ".MIPS.abiflags" section. This is an example
binary built with binutils 2.25+:
readelf -hl /lib/libc.so.6
[...]
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .MIPS.abiflags
[...]
Newer MIPS kernels will refuse to load binaries and libs which have mismatched
values in .MIPS.abiflags or of one of the involved binaries has .MIPS.abiflags
missing (a patch to linux has been posted to relax that though).
The systemd build process manages to create binaries without this
.MIPS.abiflags section, and this leads the 3.18 kernel to refuse to load it:
Failed to execute /usr/lib/systemd/systemd (error -84). Attempting default
readelf -hl /usr/lib/systemd/systemd
[...]
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .dynsym .dynstr .hash .gnu.version
.gnu.version_r .rel.dyn .init .text .fini .rodata .eh_frame
.eh_frame_hdr
03 .tdata .data.rel.ro.local .jcr .fini_array .init_array
.data.rel.ro .dynamic .tm_clone_table .sdata .data BUS_ERROR_MAP .got
.bss
04
05 .dynamic
06 .note.ABI-tag
07 .eh_frame_hdr
08 .tdata .tbss
09 .tdata .data.rel.ro.local .jcr .fini_array .init_array
.data.rel.ro .dynamic
Can anyone please point out why the .MIPS.abiflags sections are
omitted entirely?
I've tried to build with STRIP=/bin/true but that didn't help, and I don't know
enough about the build process to fix it myself.
Thanks!
Manuel
More information about the systemd-devel
mailing list