Using special CFLAGS for a single file without writing the rule

Ruslan Ermilov ru at freebsd.org
Tue Apr 29 04:56:19 UTC 2008


On Thu, Apr 24, 2008 at 06:04:15PM +0200, Jeremie Le Hen wrote:
> Hi Ruslan, hi all,
> 
> I don't know if you followed the thread on -arch@, but the outcome is
> basically that SSP should be disabled for a couple of files:
>     lib/csu/*
>     gnu/lib/csu/* (reported by antoine@, but I couldn't verify this one)
>     lib/libc/sys/stack_protector.c
>     sys/kern/stack_protector.c
> 
> Antoine Brodin supplied a patch for the kernel part:
> +kern/stack_protector.c         standard        \
> +       compile-with    "${NORMAL_C:N-fstack-protector*}"
> 
> As for lib/csu/*, this is straightforward, I just have to set
> WITHOUT_SSP in the Makefile.
> 
> The hardest one is lib/libc/sys/stack_protector.c.  I endeavored to find
> a way to compile a single file with ${CFLAGS:N-fstack-protector*}, but I
> found no recipe but writing the whole rule for this file.  I would
> really like to avoid this solution so as to not override bsd.lib.mk
> settings.
> 
> Considering your big experience with the build infrastructure, I suspect
> you would have a solution.
> 
Either by using a special rule, or through a hack similar to
the one found in the last two lines of libc/Makefile.


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer


More information about the freebsd-hackers mailing list