Subject: bug#30176: readlinkat and _FORTIFY_SOURCE on Cygwin

From: Paul Eggert <[email-masked]>
Date: Fri, 19 Jan 2018 15:25:02 -0800

On 01/19/2018 12:46 PM, Ken Brown wrote:
> I can think of three possibilities, but maybe there's something better:
>
> 1. Add "#define _FORTIFY_SOURCE 0' at the top of fileio.c (Cygwin only).
>
> 2. Pretend like Cygwin doesn't have readlinkat.  Then gnulib will 
> create its own definition, which will be found by the linker in 
> libegnu.a.
>
> 3. Ask gnulib to come up with a fix.

(2) is presumably not good, since the substitute readlinkat will have to 
execute several system calls and this will be problematic.

(1) should work but kind of misses the point of fortification.

I don't know what would be involved in (3).

How about a better option, like this:

4. Fix Cygwin readlinkat so that it can be used as a function pointer 
even when _FORTIFY_SOURCE is used.

Why not do what glibc does with readlinkat? It fortifies readlinkat, and 
doesn't run into this problem.