1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00

add new output format elf64-x86-64-hermit

- gcc & Co are able to create directly HermitCore applications
- a workaround via elfedit isn't longer required
This commit is contained in:
Stefan Lankes 2016-05-08 00:40:20 +02:00
parent de6cfd504b
commit a081169f9c
7 changed files with 7 additions and 18 deletions

View file

@ -39,6 +39,7 @@ CFLAGS = -DVERSION=\"$(GIT_VERSION)\" -g -m64 -Wall -O2 -mno-red-zone -fno-var-t
AR = ar
ARFLAGS = rsv
RM = rm -rf
OUTPUT_FORMAT = -O elf64-x86-64-hermit
CFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -mno-red-zone -O3 -march=native -mtune=native -ftree-vectorize $(STACKPROT)
FFLAGS_FOR_NEWLIB = -m64 -mtls-direct-seg-refs -mno-red-zone -O3 -march=native -mtune=native -ftree-vectorize
@ -127,6 +128,8 @@ include/hermit/config.inc: include/hermit/config.h
%.o : %.asm include/hermit/config.inc
@echo [ASM] $@
$Q$(NASM) $(NASMFLAGS) -o $@ $<
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
#$Q$(OBJCOPY_FOR_TARGET) $(OUTPUT_FORMAT) $@
%.o : %.S
@echo [GCC-ASM] $@

View file

@ -55,7 +55,6 @@ stream: stream.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -fopenmp -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
basic.o: basic.c
@ -67,7 +66,6 @@ basic: basic.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -pthread -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
RCCE_pingping: RCCE_pingping.o
@ -75,7 +73,6 @@ RCCE_pingping: RCCE_pingping.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< -lircce
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
RCCE_pingpong: RCCE_pingpong.o
@ -83,7 +80,6 @@ RCCE_pingpong: RCCE_pingpong.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< -lircce
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
netio.o: netio.c
@ -95,7 +91,6 @@ netio: netio.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
hg: hg.o hist.o rdtsc.o run.o init.o opt.o report.o setup.o
@ -103,7 +98,6 @@ hg: hg.o hist.o rdtsc.o run.o init.o opt.o report.o setup.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< hist.o rdtsc.o run.o init.o opt.o report.o setup.o
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
clean:

@ -1 +1 @@
Subproject commit 04f71f1f8df7a7f70c2e10b2265b9049ff2be35e
Subproject commit e01434f988504084dafad03b66436987e051ec65

@ -1 +1 @@
Subproject commit 7672b57e9a58b657ddf2eed8e5d60c435a5c0b00
Subproject commit aa2f4b3c2686bc4e2fe79d6fa4d4740ce552976f

View file

@ -20,7 +20,6 @@ prog: arraybench_$(IDA)
syncbench: $(SYNCOBJS)
$(CC) -o syncbench $(LDFLAGS) $(SYNCOBJS) $(CLOCKOBJS) $(LIBS) -lm
$(ELFEDIT) --output-osabi HermitCore $@
# Rule to ensure the lower optimisation level is picked up for common.c
# with the Cray compiler
@ -34,7 +33,6 @@ common_sched.o:
schedbench: $(SCHEDOBJS)
$(CC) -o schedbench $(LDFLAGS) $(SCHEDOBJS) $(CLOCKOBJS) $(LIBS) -lm
$(ELFEDIT) --output-osabi HermitCore $@
# Multiple header files due to multiple array sizes, makes header file arraybench_*.h
arraybench_$(IDA).h: arraybench.h
@ -50,7 +48,7 @@ arraybench_$(IDA): $(ARRAYOBJS) $(CLOCKOBJS) arraybench.c
taskbench: $(TASKOBJS)
$(CC) -o taskbench $(LDFLAGS) $(OMPFLAG) $(TASKOBJS) $(CLOCKOBJS) $(LIBS) -lm
$(ELFEDIT) --output-osabi HermitCore $@
clean:
-rm -rf *.o syncbench schedbench arraybench_* taskbench

@ -1 +1 @@
Subproject commit a7f6048f6a13b1aec01295dc9968515c624fb3cd
Subproject commit be9e07a0375955068500e7d2fe8eda9eb2c569d4

View file

@ -51,7 +51,6 @@ hello++: hello++.o
$Q$(CXX_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CXXFLAGS_FOR_TARGET) -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
hello: hello.o
@ -59,7 +58,6 @@ hello: hello.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
hellof: hellof.o
@ -67,7 +65,6 @@ hellof: hellof.o
$Q$(FC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(FFLAGS_FOR_TARGET) -o $@ $<
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
jacobi: jacobi.o
@ -75,7 +72,6 @@ jacobi: jacobi.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< -lm
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
thr_hello.o: thr_hello.c
@ -87,7 +83,6 @@ thr_hello: thr_hello.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< -pthread
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
RCCE_minimum: RCCE_minimum.o
@ -95,7 +90,6 @@ RCCE_minimum: RCCE_minimum.o
$Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< -lircce
$Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym
$Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@
$Q$(ELFEDIT_FOR_TARGET) --output-osabi HermitCore $@
$Qchmod a-x $@.sym
clean: