|
|
Message-ID: <20150701142106.GA1829@newbook>
Date: Wed, 1 Jul 2015 07:21:07 -0700
From: Isaac Dunham <ibid.ag@...il.com>
To: musl@...ts.openwall.com
Subject: ABI compat report: or, how to get a Debian ksh93 binary running
Hello,
For some reason I decided to try getting a ksh93 binary running
(once again); this time, it seems to work right.
Steps:
- fetch ksh_93u+20120801-1_i386.deb; list of mirrors:
https://packages.debian.org/jessie/i386/ksh/download
- get musl source from git, create new branch
- apply the patch to add *_chk
Message-Id: <1434509291-28997-1-git-send-email-josiahw@...il.com>
http://www.openwall.com/lists/musl/2015/06/17/1
- apply the attached patch to fix a few build errors and add __strcpy_chk()
(I'm aware that there are still some possible issues with correctness);
configure and compile musl.
- build the attached library, which provides:
semi-working substitutes for glibc's [jy][n01]l() functions
(I just cast long double to double, which will result in degraded
range and accuracy compared to the full implementations for 12-
and 16-byte long doubles in glibc. Other sizes of long double
get a stub error function in glibc.)
stub function pointer variables __memalign_hook, __malloc_hook,
__realloc_hook, and __free_hook; these are unused.
a few math symbols corresonding to isfinite() and isinf():
{__,}{finitel,isinfl}, __isinf, __isnan, isnanl
scalbl(), a nonstandard extension of scalb() which is obsolete.
- extract bin/ksh93 from the deb
- test with your new libc:
LD_PRELOAD=../compat-libc/compat.so lib/libc.so ./ksh93
- Once you've tested, you can replace "libm.so.6" with "compat.so"
to make it stick.
Thanks,
Isaac Dunham
View attachment "0001-src-compat-_chk.c-fix-build-add-__strcpy_chk.patch" of type "text/plain" (3233 bytes)
Download attachment "compat-libc.tgz" of type "application/octet-stream" (1980 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.