b79fcaa7d8
Ubuntu enables GCC's stack protector by default (see https://wiki.ubuntu.com/Security/Features). This causes link errors like the following: ...undefined reference to `__stack_chk_fail' To avoid these errors, this patch adds the "-fno-stack-protector" flag to both the CFLAGS used by the Contiki build process and the CFLAGS used by the newlib build process.
19 lines
970 B
Makefile
19 lines
970 B
Makefile
LIBC=$(CONTIKI)/platform/galileo/bsp/libc/i586-elf
|
|
LIBGCC_PATH = /usr/lib/gcc/$(shell gcc -dumpmachine)/$(shell gcc -dumpversion)
|
|
|
|
CONTIKI_TARGET_DIRS = . core/sys/
|
|
CONTIKI_TARGET_MAIN = ${addprefix $(OBJECTDIR)/,contiki-main.o}
|
|
CONTIKI_SOURCEFILES += contiki-main.c newlib-syscalls.c clock.c rtimer-arch.c
|
|
|
|
CONTIKI_CPU=$(CONTIKI)/cpu/x86
|
|
include $(CONTIKI)/cpu/x86/Makefile.x86_quarkX1000
|
|
|
|
CFLAGS += -m32 -march=i586 -fno-stack-protector -nostdinc -isystem $(LIBC)/include -isystem $(LIBGCC_PATH)/include -isystem $(LIBGCC_PATH)/include-fixed
|
|
LDFLAGS += -m32 -nostdlib -T $(LINKERSCRIPT)
|
|
ASFLAGS += --32 -march=i586 -mtune=i586
|
|
|
|
# Ideally, this should be part of LDFLAGS (-lc -lm etc). However, we found out that archive
|
|
# static files (.a) must be linked after our own object files, otherwise the linker gets lost
|
|
# and we get undefined references only.
|
|
TARGET_LIBFILES = $(OBJECTDIR)/newlib-syscalls.o $(LIBC)/lib/libm.a $(LIBC)/lib/libc.a $(LIBGCC_PATH)/32/libgcc.a
|