Re: two patches
Paul Eggert <[email protected]> Wed, 11 Oct 2017 14:36:41 -0700
| Newsgroups | gmane.comp.version-control.rcs.bugs,gmane.comp.lib.gnulib.bugs |
|---|---|
| Organization | UCLA Computer Science Department |
| Message-ID | <[email protected]> |
In <https://lists.gnu.org/archive/html/bug-rcs/2017-10/msg00000.html>=20 Steven Pelletier wrote: > Below are two patch specific to Apple/macOS versions of rcs. > > With the release of macOS High Sierra (10.13), Apple is enforcing that=20 > printf (and related) format strings that contain a %n specifier must=20 > be in write-protected memory. =C2=A0This causes rcsdiff to take an ille= gal=20 > instruction trap shortly after startup. =C2=A0Running rcsdiff without=20 > arguments will reproduce the issue. =C2=A0The=20 > patch,=C2=A0rcs-apple_snprintf.patch, fixes that problem. =C2=A0This fi= x is=20 > limited to a one line change to=C2=A0lib/vasnprintf.c =C2=A0It is worth= noting=20 > that old binaries will no longer function after the OS upgrade. It is annoying that Apple does not care about backward compatibility,=20 even for old binaries. Anyway, this problem came from Gnulib and was=20 fixed here: http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=3Dc41f233c4c38e840= 23a16339782ee306f03e7f59 http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=3D7df04f9b8a0adb15= 75ca0555775ec10860143cbf and this fix should appear in the next RCS release. > The second patch is for an old compile error where _Noreturn isn=E2=80=99= t=20 > properly defined on Apple platforms. =C2=A0rcs-apple_noreturn.patch, fi= xes=20 > that. =C2=A0This fix is a one line change to=C2=A0lib/config.h.in This is another Gnulib issue. What's wrong with the definition? What=20 symptoms do you observe? I thought that Apple uses Clang, and Clang=20 #defines __GNUC__ to be at least 3 and supports __attribute__=20 ((__noreturn__)), so the definition should work as-is. What is the output of the command "clang --version", assuming you're=20 using Clang? I'll CC: this to bug-gnulib to give Gnulib people a heads-up.