Alex wrote:
The order of arguments to compiler and linker matters. I remember that
when converting recipes from autotools to meson, I had to fix the
order to be exactly same, or some weird, arch-specific issues arose.
Can you check the precise command line in both working and broken
case, and what has changed there?
Alex
I did two builds with a local change to compile using
ninja -v to get the actual compiler/linker lines.
after: a6b62ef9ae meson: update to 0.46.0 - BAD
before: 26fba81701 webkitgtk: update to 2.20.1 - good
The list of compiler arguments (when building boot-timestamps.c)
is identical aside from an odd path change but the order
changes across the meson 0.46.0 update:
The odd path change is:
before:
'src/shared/ systemd-shared-237@sta/acpi-fpdt.c.o'
after:
'src/shared/src@shared@@systemd-shared-237@sta/acpi-fpdt.c.o'
This looks odd to me but I'm ignoring it since the files are
clearly found by the build.
The compiler flag order difference is too large for a civilized
email so it's here:
diff -Naur: https://pastebin.com/pWSzDm5W
sdiff -t : https://pastebin.com/5BX8QvNs
When linking libsystemd-shared-237.so the location of the:
-Wl,--end-group
option changes:
before:
-lrt
-L/.../qppc-sd/tmp/work/ppc7400-poky-linux/systemd/1_237-r0/recipe-sysroot/usr//lib
-lcap
-lacl
-llzma
-lblkid
-Wl,--end-group <-----
-lrt
after:
-lrt
-Wl,--end-group <-----
-L/.../qppc-sd/tmp/work/ppc7400-poky-linux/systemd/1_237-r0/recipe-sysroot/usr//lib
-lcap
-lacl
-llzma
-lblkid
-lrt
and some _apparently_ redundant libraries and lib paths were dropped:
both:
-L/.../qppc-sd/tmp/work/ppc7400-poky-linux/systemd/1_237-r0/recipe-sysroot/usr//lib
-lcap
-lblkid
-lrt
only before:
-L/.../qppc-sd/tmp/work/ppc7400-poky-linux/systemd/1_237-r0/recipe-sysroot/usr//lib
-lcap
-lblkid
On 06/19/2018 12:00 PM, Khem Raj wrote:
On 6/19/18 2:59 AM, Burton, Ross wrote:
On 19 June 2018 at 06:03, Randy MacLeod <randy.macl...@windriver.com>
wrote:
It seems that this meson update broke systemd on qemuppc.
I'll look into it a more tomorrow but below is what I know so far.
It looks like the libsystemd-shared.so size increased by 18% despite
the build flags being the same!
Despite my IRC handle, I'm a meson newbie so any tips will
be appreciated. I'll work on getting meson/ninja to be more
verbose tomorrow to track down what really changed.
I recently started testing qemuppc by booting
core-image-minimal with systemd as init. It fails with:
/sbin/init: error while loading shared libraries:
/lib/systemd/libsystemd-shared-237.so: R_PPC_REL24 relocation at
0x0054574c for symbol `strlen' out of range
This would also indicate that libsystemd is probably missing -fPIC
during compile, can you check the compiler cmdline passed when building
on of .o files that gets includes in libsystemd.
fPIC is used in both cases:
$ grep fPIC temp-good/log.do_compile.boot-timestamp \
temp-bad/log.do_compile.boot-timestamp
temp-good/log.do_compile.boot-timestamp:-fPIC
temp-bad/log.do_compile.boot-timestamp:-fPIC
I don't have any more time for this today so I'm sending this
update. My next step is to examine the libsystemd-shared-237.so
file itself using readelf and/or objdump to see why the file size
increased ... unless someone has a better idea.
../Randy
or in some cases:
systemd[1]: \
unhandled signal 11 at b804b784 nip 0070d184 lr 008ee1ac code 1
Kernel panic - not syncing: \
Attempted to kill init! exitcode=0x0000000b
when running:
runqemu slirp nographic qemuppc ext4
The error only appears when using the distro poky-lsb
or a security template in the WR builds.
Khem suggests that this is due to the new gcc and PIE on PPC being
bust, but even after passing no-pie this is still happening for me.
Ross
--
# Randy MacLeod
# Wind River Linux
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core