bug-gnulib
[Top][All Lists]
Advanced

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

Re: two patches


From: Paul Eggert
Subject: Re: two patches
Date: Wed, 11 Oct 2017 14:36:41 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

In <https://lists.gnu.org/archive/html/bug-rcs/2017-10/msg00000.html> 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 printf (and related) format strings that contain a %n specifier must be in write-protected memory.  This causes rcsdiff to take an illegal instruction trap shortly after startup.  Running rcsdiff without arguments will reproduce the issue.  The patch, rcs-apple_snprintf.patch, fixes that problem.  This fix is limited to a one line change to lib/vasnprintf.c  It is worth noting that old binaries will no longer function after the OS upgrade.

It is annoying that Apple does not care about backward compatibility, even for old binaries. Anyway, this problem came from Gnulib and was fixed here:

http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=c41f233c4c38e84023a16339782ee306f03e7f59
http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=7df04f9b8a0adb1575ca0555775ec10860143cbf

and this fix should appear in the next RCS release.

The second patch is for an old compile error where _Noreturn isn’t properly defined on Apple platforms.  rcs-apple_noreturn.patch, fixes that.  This fix is a one line change to lib/config.h.in

This is another Gnulib issue. What's wrong with the definition? What symptoms do you observe? I thought that Apple uses Clang, and Clang #defines __GNUC__ to be at least 3 and supports __attribute__ ((__noreturn__)), so the definition should work as-is.

What is the output of the command "clang --version", assuming you're using Clang?

I'll CC: this to bug-gnulib to give Gnulib people a heads-up.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]