/branches/dynload/uspace/lib/libtest/_link.ld.in |
---|
File deleted |
/branches/dynload/uspace/lib/libtest/Makefile |
---|
75,14 → 75,14 |
-include Makefile.depend |
clean: |
-rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm $(OUTPUT).sections Makefile.depend *.o arch/$(ARCH)/_link.ld include/arch _link.ld |
-rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm $(OUTPUT).sections Makefile.depend *.o arch/$(ARCH)/_link.ld |
find arch/$(ARCH)/ -name '*.o' -follow -exec rm \{\} \; |
depend: |
$(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES)> Makefile.depend |
$(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) _link.ld |
$(LD) -T _link.ld $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map |
$(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) arch/$(ARCH)/_link.ld |
$(LD) -T arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map |
disasm: |
$(OBJDUMP) -d -S -s $(OUTPUT) >$(OUTPUT).disasm |
90,7 → 90,7 |
sections: |
$(OBJDUMP) -h $(OUTPUT) >$(OUTPUT).sections |
_link.ld: _link.ld.in |
arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in |
$(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@ |
%.o: %.S |
/branches/dynload/uspace/lib/libtest/arch/ppc32/_link.ld.in |
---|
0,0 → 1,85 |
ENTRY(__entry) |
PHDRS { |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
. = 0x1000 + SIZEOF_HEADERS; |
.init : { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.text.*); |
*(.rodata*); |
} :text |
.rel.plt : { |
*(.rel.plt); |
} |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
.dynsym : { |
*(.dynsym); |
} :text |
.dynstr : { |
*(.dynstr); |
} :text |
. = . + 0x1000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
*(.sdata); |
} :data |
.data.rel : { |
*(.data.rel); |
} :data |
.got : { |
*(.got); |
} :data |
.got.plt : { |
*(.got.plt); |
} :data |
/* |
.tdata : { |
_tdata_start = .; |
*(.tdata); |
_tdata_end = .; |
} :data |
.tbss : { |
_tbss_start = .; |
*(.tbss); |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
.bss : { |
*(.sbss); |
*(COMMON); |
*(.bss); |
} :data |
*/ |
.plt : { |
*(.plt); |
} :data |
. = ALIGN(0x1000); |
_heap = .; |
} |
/branches/dynload/uspace/lib/libtest/arch/ia32/_link.ld.in |
---|
0,0 → 1,85 |
ENTRY(__entry) |
PHDRS { |
text PT_LOAD FLAGS(5); |
interp PT_INTERP; |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
. = 0x1000 + SIZEOF_HEADERS; |
.init : { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.text.*); |
*(.rodata*); |
} :text |
.rel.plt : { |
*(.rel.plt); |
} |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
.plt : { |
*(.plt); |
} :text |
.dynamic : { |
*(.dynamic); |
} :text :dynamic |
.dynsym : { |
*(.dynsym); |
} :text |
.dynstr : { |
*(.dynstr); |
} :text |
. = . + 0x1000; |
.data : { |
*(.data); |
} :data |
.data.rel : { |
*(.data.rel); |
} :data |
.got : { |
*(.got); |
} :data |
.got.plt : { |
*(.got.plt); |
} :data |
.bss : { |
*(COMMON); |
*(.bss); |
} :data |
/* |
.tdata : { |
_tdata_start = .; |
*(.tdata); |
_tdata_end = .; |
} :data |
.tbss : { |
_tbss_start = .; |
*(.tbss); |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
*/ |
. = ALIGN(0x1000); |
_heap = .; |
} |
Property changes: |
Added: svn:mergeinfo |
/branches/dynload/uspace/lib/libc/shared/arch/ppc32/_link.ld.in |
---|
5,6 → 5,7 |
interp PT_INTERP; |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
37,10 → 38,6 |
*(.rel.*); |
} :text |
.dynamic : { |
*(.dynamic); |
} :text |
.dynsym : { |
*(.dynsym); |
} :text |
51,6 → 48,10 |
. = . + 0x1000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
*(.sdata); |
/branches/dynload/uspace/lib/libc/shared/arch/ppc32/_lib.ld.in |
---|
3,6 → 3,7 |
PHDRS { |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
28,10 → 29,6 |
*(.rel.*); |
} :text |
.dynamic : { |
*(.dynamic); |
} :text |
.dynsym : { |
*(.dynsym); |
} :text |
42,6 → 39,10 |
. = . + 0x1000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
*(.sdata); |
/branches/dynload/uspace/lib/libc/shared/arch/ia32/_lib.ld.in |
---|
2,7 → 2,6 |
PHDRS { |
text PT_LOAD FLAGS(5); |
interp PT_INTERP; |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
34,10 → 33,6 |
*(.plt); |
} :text |
.dynamic : { |
*(.dynamic); |
} :text :dynamic |
.dynsym : { |
*(.dynsym); |
} :text |
48,6 → 43,10 |
. = . + 0x1000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
} :data |