NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-evbarm/48738: Upgrade of -current kernel on Raspberry Pi brakes running executables from previous version requiring reinstall
The following reply was made to PR port-evbarm/48738; it has been noted by
GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: port-evbarm/48738: Upgrade of -current kernel on Raspberry Pi
brakes running executables from previous version requiring reinstall
Date: Sat, 12 Apr 2014 18:40:33 +0200
On Sat, Apr 12, 2014 at 10:15:00AM +0000, joachim.thiemnn%gmail.com@localhost
wrote:
> Either upgrade all of userland, or use kernel option COMPAT_NETBSD32.
> The latter can still cause problems though, with dynamic libraries (I
> think).
Did you try COMPAT_NETBSD32?
This should only help if you changed from an old "arm" install to "earm"
now - which might need a bit more planning and library copying (and would
make it no bug).
If you have an old binary around still, you can check the ABI by running
file on it. On my eabrm machine for example file /bin/sh says:
/bin/sh: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically
linked (uses shared libs), for NetBSD 6.99.40, compiled for: earmv4, not
stripped
Another possible issue are broken binaries with corrupt ELF notes (I've seen
that on test machines I updated early to gcc 4.8 - not sure if this ever
happend in the official builds). Symptom here would be a corrupt binary
that old kernels erroneously accepted, but newer kernels reject. You
can verify this by running readelf -n on the binary. Again /bin/sh as
an example:
Notes at offset 0x00000128 with length 0x00000018:
Owner Data size Description
NetBSD 0x00000004 IDENT 699004000 (6.99.40)
Notes at offset 0x00000140 with length 0x00000014:
Owner Data size Description
PaX 0x00000004 Unknown note type: (0x00000003)
Notes at offset 0x00000154 with length 0x0000001c:
Owner Data size Description
NetBSD 0x00000007 MARCH <earmv4>
(the last one will be different on RPi).
The corrupt binaries cause readelf to complain in this output.
Martin
Home |
Main Index |
Thread Index |
Old Index