mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-17 08:37:17 -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
|
||||
|
||||
COMMON_LINK_FLAGS=-lgcc
|
||||
PROGRAM_LINK_FLAGS=$(COMMON_LINK_FLAGS) -T ../linker.ld
|
||||
|
||||
PROGRAM_FLAGS=-I../../userlib/include/
|
||||
|
@ -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
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 $@
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user