<div dir="ltr"><div dir="ltr">yeah, i think he (and i, when i have my bionic hat on) have an easier problem than you ... supporting old kernels _usually_ (there are a few exceptions) isn't too hard in the c library because it's generally considered okay to just shrug and return -1 with errno == ENOSYS or whatever.<div><br></div><div>whereas as an "app", your users expect you to just "do the thing". (which at best tends to mean you have an untested/barely tested "success" case. no-one worries that their return -1 has bitrotted, but the non-inotify path or the non-O_TMPFILE or whatever ... that's a lot more likely!)</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 26, 2021 at 1:49 PM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">re: <a href="https://github.com/landley/toybox/pull/292#issuecomment-899895909" rel="noreferrer" target="_blank">https://github.com/landley/toybox/pull/292#issuecomment-899895909</a><br>
<br>
I asked Rich Felker on IRC and he said he/musl plans to _never_ drop support for<br>
any old kernels, and 3.x or newer is plenty. (Didn't ask about compilers or<br>
build environments because you're shipping binaries...)<br>
<br>
Rob<br>
<br>
<landley> dalias: it means support horizon, ala<br>
<a href="https://landley.net/toybox/faq.html#support_horizon" rel="noreferrer" target="_blank">https://landley.net/toybox/faq.html#support_horizon</a><br>
<dalias> i think i gathered it's about support for old kernels. musl has no<br>
moving target for that, or if it's moving it only moved further back<br>
<dalias> so yeah, there is no 'support horizon' for musl. kernel versions<br>
>=2.6.0 that work now will continue to work to the extent they do now<br>
<dalias> you need mid to late 2.6.x for full posix functionality; there's a slim<br>
possibility we may emulate more of that on older kernels in the future, but we<br>
won't drop any compatibility that's already there<br>
<dalias> making binaries to run on really old devices whose kernels can't be<br>
upgraded because nobody has the source or there's hacked up vendor spaghetti<br>
that's impossible to modernize is a major use case for musl<br>
<dalias> we actually have someone who just got musl arm-eabi binaries running on<br>
a pre-eabi kernel with a few minor hacks to the syscall entry point and similar<br>
...<br>
<landley> So you're targeting "2.6 kernel or newer"?<br>
<landley> I dunno how to digest the above into a policy statement.<br>
<landley> Other than cut and paste the whole thing...<br>
<landley> Anyway, if you wanted to reply to the github thread directly, elliott<br>
would get the ping.<br>
<dalias> ok<br>
<dalias> it's documented as such. 2.6.0 is min version but subject to<br>
functionality limits of the kernel<br>
<dalias> >= 2.6.39 is recommended for full functionality (but actually .29 or<br>
something is all you need<br>
_______________________________________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listinfo.cgi/toybox-landley.net</a><br>
</blockquote></div>