mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-18 01:01:57 -04:00
Review linking of programs
This commit is contained in:
parent
9f69663ec5
commit
0c70d54352
1
cpp.mk
1
cpp.mk
@ -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
|
CPP_FLAGS_64=$(COMMON_CPP_FLAGS) -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2
|
||||||
|
|
||||||
COMMON_LINK_FLAGS=-lgcc
|
COMMON_LINK_FLAGS=-lgcc
|
||||||
|
PROGRAM_LINK_FLAGS=$(COMMON_LINK_FLAGS) -T ../linker.ld
|
||||||
|
|
||||||
PROGRAM_FLAGS=-I../../userlib/include/
|
PROGRAM_FLAGS=-I../../userlib/include/
|
||||||
|
@ -8,7 +8,7 @@ include ../../cpp.mk
|
|||||||
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
||||||
|
|
||||||
a.out: main.cpp.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:
|
clean:
|
||||||
rm *.cpp.o
|
rm *.cpp.o
|
||||||
|
20
programs/linker.ld
Normal file
20
programs/linker.ld
Normal 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)
|
||||||
|
}
|
||||||
|
}
|
@ -8,7 +8,7 @@ include ../../cpp.mk
|
|||||||
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
||||||
|
|
||||||
a.out: main.cpp.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:
|
clean:
|
||||||
rm *.cpp.o
|
rm *.cpp.o
|
||||||
|
@ -8,7 +8,7 @@ include ../../cpp.mk
|
|||||||
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
||||||
|
|
||||||
a.out: main.cpp.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:
|
clean:
|
||||||
rm *.cpp.o
|
rm *.cpp.o
|
||||||
|
@ -8,7 +8,7 @@ include ../../cpp.mk
|
|||||||
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
$(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@
|
||||||
|
|
||||||
a.out: main.cpp.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:
|
clean:
|
||||||
rm *.cpp.o
|
rm *.cpp.o
|
||||||
|
Loading…
x
Reference in New Issue
Block a user