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

Bug#532627: kfreebsd-image-7.2-1-amd64: biarch support broken



Severity: grave
Justification: renders package unusable

I would just say "important" as it prevents only 32-bit binaries to work,
64-bit binaries works for me for weeks ...

If .note.ABI-tag contains among other things "FreeBSD", the FreeBSD
execution environment is used, while if it contains "GNU", the Linux
execution environment is used. Our binaries contains "GNU" as on
plain GNU/Linux, which breaks 32-bit support.

While we could remove/move this new check, this clearly differs from
upstream. Any other idea?

They are checking the .note.ABI-tag in a bad way.
They should not only check the "GNU", but also whether OS field matches,
see [1], [2], [3].

The OS field is 0 for GNU/Linux and 3 for GNU/kFreeBSD, see [2].

The FreeBSD project decided to use different layout of the .note.ABI-tag, see [4].

The proper solution would be to teach FreeBSD to check GNU notes properly.
I would just comment out the new check. In fact, we already differ from orginal FreeBSD due to debian/patches/010_ET_DYN.diff.

Petr

[1] http://www.netbsd.org/Documentation/kernel/elf-notes.html
[2] http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/csu/abi-note.S?rev=1.7&content-type=text/plain&cvsroot=glibc
[3] http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/abi-tags?rev=1.6&content-type=text/plain&cvsroot=glibc
[4] http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/csu/common/crtbrand.c?rev=1.6



Reply to: