HomeDefectsLIN1024-5227
Fixed

LIN1024-5227 : 32bit loader of multilib system always segfaults

Created: Nov 8, 2024    Updated: Feb 20, 2025
Resolved Date: Dec 4, 2024
Found In Version: 10.24.33.2
Fix Version: 10.24.33.4
Severity: Severe
Applicable for: Wind River Linux LTS 24
Component/s: BSP, Toolchain

Description

For 32bit application, the 32bit loader is exiting with SEGFAULT.

root@marvell-cn10xxx:~# /lib/ld-linux-armhf.so.3
Segmentation fault
root@marvell-cn10xxx:~# file /lib/ld-linux-armhf.so.3
/lib/ld-linux-armhf.so.3: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), static-pie linked, BuildID[sha1]=7da7d777b7c0861d83474e9bb4b929472ba89b61, stripped
root@marvell-cn10xxx:~# uname -a
Linux marvell-cn10xxx 6.6.52-yocto-standard #1 SMP PREEMPT Fri Sep 20 22:22:44 UTC 2024 aarch64 GNU/Linux

How the output should look like:

root@marvell-cn10xxx:~# /lib/ld-linux-aarch64.so.1
/lib/ld-linux-aarch64.so.1: missing program name
Try '/lib/ld-linux-aarch64.so.1 --help' for more information.
root@marvell-cn10xxx:~# 

 

I have only reproduced this issue with bsp marvell-cn10xxx on an octeon-tx3 board. This would not happen with qemuarm64:

qemuarm64 login: root
root@qemuarm64:~# /lib/ld-linux-armhf.so.3
/lib/ld-linux-armhf.so.3: missing program name
Try '/lib/ld-linux-armhf.so.3 --help' for more information.

Steps to Reproduce

Setup a multilib project --with-machine=marvell-cn10xxx

(multilib is enabled by default in machine.conf for this bsp so ne need to add it and the tune to conf/local.conf)

Add the following to conf/local.conf:

IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc"

Build a standard image and deploy to target Marvell cn10xxx reference board.

On target, run:

/lib/ld-linux-armhf.so.3

or any other lib32 command from the packages we have added.