[ipxe-devel] gcc defaults to pie ?

Joakim Tjernlund Joakim.Tjernlund at infinera.com
Wed Jan 31 17:05:03 UTC 2018


On Thu, 1970-01-01 at 00:00 +0000, Michael Brown wrote:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> 
> 
> On 31/01/18 16:35, Joakim Tjernlund wrote:
> > On Gentoo gcc 6 defaults to PIE and that generates and ton of
> >   error: code model kernel does not support PIC mode
> > 
> > Throwing in a general -fno-pie does not seem to be the right fix either.
> > Maybe iPXE should start specifying -fno-pie where needed?
> 
> There's logic within arch/i386/Makefile which is supposed to autodetect
> compilers that do this and specify the appropriate combination of "do
> not use PIE" options.  We may need to expand this to handle whatever
> Gentoo has done.

Does that apply to every file that is built? arch/i386/Makefile feel specific for
i386.

I don't see how these tests are applied though.

> 
> > What about other gcc options like __FORTIFY__ ?
> 
> There's similar logic in Makefile.housekeeping to disable
> -fstack-protector if needed.

I see that, should Makefile.housekeeping include -U_FORTIFY_SOURCE then?

Also, ATM one cannot pass flags into ipxe due to:
CFLAGS		:=
can it be changed to
CFLAGS		?=

Something like so:
CLEANUP		?=
CFLAGS		?=
ASFLAGS		?=
LDFLAGS		?=
HOST_CFLAGS	?=
MAKEDEPS	:= Makefile
CROSS_COMPILE	?= $(CROSS)


More information about the ipxe-devel mailing list