[sheepdog] [PATCH] This patch solves build problem at least on Gentoo[1] and solves ignoring some enviroment variables like CC. Patch solves - hardcoding compiler to gcc instead use CC enviroment variable - ignoring CFLAGS - build error caused by passing incorrect macro name to compiler - unconditionally striping library, now isa-l library isn't striped - executable stack - turn on more verbose building, now invocation of compiler isn't hidden
Hitoshi Mitake
mitake.hitoshi at lab.ntt.co.jp
Mon Dec 8 02:11:12 CET 2014
At Thu, 4 Dec 2014 16:07:19 +0100,
Marcin Mirosław wrote:
>
> [1] - http://lists.wpkg.org/pipermail/sheepdog-users/2014-November/002807.html
>
> Signed-off-by: Marcin Mirosław <marcin at mejor.pl>
> ---
> lib/isa-l/make.inc | 22 ++++++++++------------
> 1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/lib/isa-l/make.inc b/lib/isa-l/make.inc
> index 8a35220..e2a099f 100644
> --- a/lib/isa-l/make.inc
> +++ b/lib/isa-l/make.inc
> @@ -38,7 +38,7 @@
> # trace - get simulator trace
> # clean - remove object files
>
> -CC = gcc
> +CC ?= gcc
> AS = yasm
> SIM = sde $(SIMFLAGS) --
>
> @@ -78,10 +78,9 @@ endif
>
>
> INCLUDE = $(patsubst %,-I%,$(subst :, ,$(VPATH)))
> -CFLAGS = $(CFLAGS_$(arch)) $(CFLAGS_$(CC)) $(DEBUG) -O2 $(DEFINES) $(INCLUDE)
> -ASFLAGS = $(ASFLAGS_$(arch)) $(ASFLAGS_$(CC)) $(DEBUG_$(AS)) $(DEFINES) $(INCLUDE)
Just confirmation. Is it always safe to remove the above params e.g.
$(CFLAGS_$(arch)) $(CFLAGS_$(CC)) $(DEBUG)
?
Thanks,
Hitoshi
> +CFLAGS += $(DEFINES) $(INCLUDE)
> +ASFLAGS += $(ASFLAGS_$(arch)) $(DEFINES) $(INCLUDE)
> ARFLAGS = $(ARFLAGS_$(arch))
> -DEFINES += $(addprefix -D , $D)
>
> O = bin
> lobj += $(patsubst %.c,%.o,$(patsubst %.asm,%.o,$(lsrc$(arch))))
> @@ -137,15 +136,15 @@ msg = $(if $(DEBUG),DEBUG) $(patsubst 32,32-bit,$(arch)) $D
>
> $(O)/%.o: %.asm
> @echo " ---> Building $< $(msg)"
> - @$(AS) $(ASFLAGS) -o $@ $<
> + $(AS) $(ASFLAGS) -o $@ $<
>
> $(O)/%.o %.o: %.c
> @echo " ---> Building $< $(msg)"
> - @$(COMPILE.c) $(OUTPUT_OPTION) $<
> + $(COMPILE.c) $(OUTPUT_OPTION) $<
>
> $(all_tests):
> @echo " ---> Building Test $@ $(msg)"
> - @$(LINK.o) $(CFLAGS) $^ $(LDLIBS) -o $@
> + $(LINK.o) $(CFLAGS) $^ $(LDLIBS) -o $@
>
>
> # Target to build lib files
> @@ -162,8 +161,7 @@ endif
> #lib $(lib_name): $(lib_name)(${objs})
> $(lib_name): $(objs)
> @echo " ---> Creating Lib $@"
> - @$(AR) $(ARFLAGS) $^
> - @$(STRIP_$(CC))
> + $(AR) $(ARFLAGS) $^
>
>
> # Target for shared lib
> @@ -174,7 +172,7 @@ shared_objs += $(addprefix $(O)/shared_ver_,$(patsubst %.c,%.o,$(filter %.c,$(l
>
> $(O)/shared_ver_%.o: %.c
> @echo " ---> Building shared $< $(msg)"
> - @$(COMPILE.c) $(OUTPUT_OPTION) $<
> + $(COMPILE.c) $(OUTPUT_OPTION) $<
>
> ifneq ($(lib_debug),1)
> $(so_lib_name): DEBUG_$(AS)=
> @@ -186,7 +184,7 @@ $(shared_objs): CFLAGS += -fPIC
> $(shared_objs) $(aobjs): | $(O)
> $(so_lib_name): $(shared_objs) $(aobjs)
> @echo " ---> Creating Shared Lib $@"
> - @$(CC) $(CFLAGS) --shared $(LDFLAGS) -o $@ $^
> + $(CC) $(CFLAGS) --shared $(LDFLAGS) -Wl,-z,noexecstack -o $@ $^
>
>
> # Collect performance data
> @@ -201,7 +199,7 @@ perf_report:
>
> clean:
> @echo Cleaning up
> - @$(RM) -r $(O) *.o *.a $(all_tests) $(lib_name) $(so_lib_name)
> + $(RM) -r $(O) *.o *.a $(all_tests) $(lib_name) $(so_lib_name)
>
>
>
> --
> 2.0.4
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
More information about the sheepdog
mailing list