Thanks to Zach for getting me sh access to a mac, mac is passing its tests 
again.

It had two problems:

A) The mac test for "does chmod +s work as a normal user" in chmod.test wasn't
converted to the new format properly (5f7faac45363 missed one and I didn't
notice because it only mattered on mac), which is weird because you'd think mac
would hit that failure FIRST on github and android? (Weird. I just did homebrew,
gmake macos_defconfig, gmake tests...)

II) Mac hasn't got O_PATH and portability.h was doing an #ifdef check and
defining it, because it was only added to the kernel in 2011 (commit
1abf0c718f15a) and the 7 year horizon for that was still relevant pre-pandemic.

Mac still hasn't got O_PATH but the numeric value Linux uses was already
allocated in mac for O_SYMLINK "allow open of a symlink" (which Linux hasn't
got), hence the weird behavior.

Not a kernel bug, a portability.h bug.

Rob

P.S. Ironically, pulling the second mac fix into my main work tree hit a
conflict because I was doing a pass tracking down the expiration dates of
symbols in there, recording the kernel commit that added them. Which rolled to a
stop because AT_FDCWD was added in 2006 and RLIMIT_RTTIME wsa 2008 and they've
got to still be there because because a specific build environment needed them,
but which one? Having updated Mac, BSD, and NDK build environments to regression
test against hopefully lets me resume that cleanup...
_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to