Review linking of programs

This commit is contained in:
Baptiste Wicht 2014-01-25 17:51:53 +01:00
parent 9f69663ec5
commit 0c70d54352
6 changed files with 25 additions and 4 deletions

1
cpp.mk
View File

@ -12,5 +12,6 @@ CPP_FLAGS_32=$(COMMON_CPP_FLAGS) $(CPP_FLAGS_LOW) -mpreferred-stack-boundary=4
CPP_FLAGS_64=$(COMMON_CPP_FLAGS) -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2
COMMON_LINK_FLAGS=-lgcc
PROGRAM_LINK_FLAGS=$(COMMON_LINK_FLAGS) -T ../linker.ld
PROGRAM_FLAGS=-I../../userlib/include/

View File

@ -8,7 +8,7 @@ include ../../cpp.mk
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
a.out: main.cpp.o
$(CC) $(COMMON_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
$(CC) $(PROGRAM_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
clean:
rm *.cpp.o

20
programs/linker.ld Normal file
View File

@ -0,0 +1,20 @@
SECTIONS {
. = 0x400000000;
.text BLOCK(4096) : ALIGN(4096)
{
*(.text)
}
. = 0x400400000;
.data BLOCK(4096) : ALIGN(4096)
{
*(.data)
}
.bss BLOCK(4096) : ALIGN(4096)
{
*(.bss)
}
}

View File

@ -8,7 +8,7 @@ include ../../cpp.mk
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
a.out: main.cpp.o
$(CC) $(COMMON_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
$(CC) $(PROGRAM_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
clean:
rm *.cpp.o

View File

@ -8,7 +8,7 @@ include ../../cpp.mk
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
a.out: main.cpp.o
$(CC) $(COMMON_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
$(CC) $(PROGRAM_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
clean:
rm *.cpp.o

View File

@ -8,7 +8,7 @@ include ../../cpp.mk
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
a.out: main.cpp.o
$(CC) $(COMMON_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
$(CC) $(PROGRAM_LINK_FLAGS) -e main $(CPP_FLAGS_64) -o a.out main.cpp.o
clean:
rm *.cpp.o