Changeset 729f774f in mainline
- Timestamp:
- 2011-04-30T16:12:19Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 15b3761
- Parents:
- 4ddbea7
- Location:
- uspace
- Files:
-
- 6 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/Makefile.common
r4ddbea7 r729f774f 101 101 BASE_LIBS = $(LIBC_PREFIX)/libc.so.0 $(LIBSOFTINT_PREFIX)/libsoftint.a 102 102 LFLAGS = -Bdynamic 103 LINKER_SCRIPT ?= $(LIBC_PREFIX)/ shared/arch/$(UARCH)/_link.ld103 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld 104 104 else 105 105 BASE_LIBS = $(LIBC_PREFIX)/libc.a $(LIBSOFTINT_PREFIX)/libsoftint.a … … 217 217 endif 218 218 219 $(LOUTPUT): $(LARCHIVE) $(LIBC_PREFIX)/ shared/arch/$(UARCH)/_lib.ld220 $(LD) -T $(LIBC_PREFIX)/ shared/arch/$(UARCH)/_lib.ld $(LIB_LFLAGS) $(LARCHIVE) -o $@ -Map $(LOUTPUT).map219 $(LOUTPUT): $(LARCHIVE) $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld 220 $(LD) -T $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld $(LIB_LFLAGS) $(LARCHIVE) -o $@ -Map $(LOUTPUT).map 221 221 endif 222 222 -
uspace/lib/c/Makefile
r4ddbea7 r729f774f 44 44 LINKER_SCRIPTS = \ 45 45 $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld \ 46 $(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld 46 $(LIBC_PREFIX)/arch/$(UARCH)/_link-loader.ld \ 47 $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld \ 48 $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld 47 49 48 50 PRE_DEPEND = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(INCLUDE_RTLDARCH) $(COMMON_HEADER_ARCH) … … 159 161 $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DLOADER -E -x c $< | grep -v "^\#" > $@ 160 162 163 $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in 164 $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DSHLIB -E -x c $< | grep -v "^\#" > $@ 165 166 $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in 167 $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@ 168 161 169 $(COMMON_HEADER_ARCH): $(COMMON_HEADER) 162 170 ln -sfn ../../../$< $@ -
uspace/lib/c/arch/ia32/_link.ld.in
r4ddbea7 r729f774f 1 #ifndef SHLIB 1 2 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o) 2 3 ENTRY(__entry) 4 #endif 3 5 4 6 PHDRS { 5 #if def LOADER7 #if defined(LOADER) 6 8 interp PT_INTERP; 7 9 text PT_LOAD FILEHDR PHDRS FLAGS(5); 10 #elif defined(DLEXE) 11 interp PT_INTERP; 12 text PT_LOAD FLAGS(5); 8 13 #else 9 14 text PT_LOAD FLAGS(5); 10 15 #endif 11 16 data PT_LOAD FLAGS(6); 17 #if defined(SHLIB) || defined(DLEXE) 18 dynamic PT_DYNAMIC; 19 #endif 12 20 debug PT_NOTE; 13 21 } 14 22 15 23 SECTIONS { 16 #if def LOADER24 #if defined(LOADER) || defined(DLEXE) 17 25 .interp : { 18 26 *(.interp); 19 27 } :interp 20 28 #endif 29 #ifdef LOADER 21 30 . = 0x70001000 + SIZEOF_HEADERS; 22 31 #else … … 31 40 *(.rodata .rodata.*); 32 41 } :text 42 43 #if defined(SHLIB) || defined(DLEXE) 44 .rel.plt : { 45 *(.rel.plt); 46 } 47 /* 48 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 49 * without alignment gap or DT_REL will be broken 50 */ 51 .rel.dyn : { 52 *(.rel.*); 53 } :text 33 54 55 .plt : { 56 *(.plt); 57 } :text 58 59 .dynsym : { 60 *(.dynsym); 61 } :text 62 63 .dynstr : { 64 *(.dynstr); 65 } :text 66 #endif 34 67 . = . + 0x1000; 68 69 #if defined(SHLIB) || defined(DLEXE) 70 .dynamic : { 71 *(.dynamic); 72 } :data :dynamic 73 #endif 35 74 36 75 .data : { … … 38 77 } :data 39 78 79 #if defined(SHLIB) || defined(DLEXE) 80 .data.rel : { 81 *(.data.rel); 82 } :data 83 84 .got : { 85 *(.got); 86 } :data 87 .got.plt : { 88 *(.got.plt); 89 } :data 90 #endif 91 92 #ifndef DLEXE 40 93 .tdata : { 41 94 _tdata_start = .; … … 49 102 50 103 _tls_alignment = ALIGNOF(.tdata); 104 #endif 51 105 52 106 .bss : { … … 68 122 #endif 69 123 124 #if defined(SHLIB) 125 #elif defined(DLEXE) 126 /DISCARD/ : { 127 *(.comment); 128 } 129 #else 70 130 /DISCARD/ : { 71 131 *(*); 72 132 } 133 #endif 73 134 } -
uspace/lib/c/arch/mips32/_link.ld.in
r4ddbea7 r729f774f 1 #ifndef SHLIB 1 2 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o) 2 3 ENTRY(__entry) 4 #endif 3 5 4 6 PHDRS { 5 #if def LOADER7 #if defined(LOADER) 6 8 interp PT_INTERP; 7 9 text PT_LOAD FILEHDR PHDRS FLAGS(5); 10 #elif defined(DLEXE) 11 interp PT_INTERP; 12 text PT_LOAD FLAGS(5); 8 13 #else 9 14 text PT_LOAD FLAGS(5); 10 15 #endif 11 16 data PT_LOAD FLAGS(6); 17 #if defined(SHLIB) || defined(DLEXE) 18 dynamic PT_DYNAMIC; 19 #endif 12 20 } 13 21 14 22 SECTIONS { 15 #if def LOADER23 #if defined(LOADER) || defined(DLEXE) 16 24 .interp : { 17 25 *(.interp); 18 26 } :interp 19 27 #endif 28 #ifdef LOADER 20 29 . = 0x70004000 + SIZEOF_HEADERS; 21 30 #else … … 31 40 } :text 32 41 42 #if defined(SHLIB) || defined(DLEXE) 43 .rel.plt : { 44 *(.rel.plt); 45 } 46 /* 47 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 48 * without alignment gap or DT_REL will be broken 49 */ 50 .rel.dyn : { 51 *(.rel.*); 52 } :text 53 54 .plt : { 55 *(.plt); 56 } :text 57 58 .dynsym : { 59 *(.dynsym); 60 } :text 61 62 .dynstr : { 63 *(.dynstr); 64 } :text 65 #endif 33 66 . = . + 0x4000; 67 68 #if defined(SHLIB) || defined(DLEXE) 69 .dynamic : { 70 *(.dynamic); 71 } :data :dynamic 72 #endif 34 73 35 74 .data : { … … 43 82 } :data 44 83 84 #ifndef DLEXE 45 85 .tdata : { 46 86 _tdata_start = .; … … 56 96 57 97 _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); 58 98 #endif 59 99 .sbss : { 60 100 *(.scommon); … … 67 107 } :data 68 108 109 #if defined(SHLIB) 110 #elif defined(DLEXE) 111 /DISCARD/ : { 112 *(.comment); 113 } 114 #else 69 115 /DISCARD/ : { 70 116 *(*); 71 117 } 118 #endif 72 119 } -
uspace/lib/c/arch/ppc32/_link.ld.in
r4ddbea7 r729f774f 1 #ifndef SHLIB 1 2 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o) 2 3 ENTRY(__entry) 4 #endif 3 5 4 6 PHDRS { 5 #if def LOADER7 #if defined(LOADER) 6 8 interp PT_INTERP; 7 9 text PT_LOAD FILEHDR PHDRS FLAGS(5); 10 #elif defined(DLEXE) 11 interp PT_INTERP; 12 text PT_LOAD FLAGS(5); 8 13 #else 9 14 text PT_LOAD FLAGS(5); 10 15 #endif 11 16 data PT_LOAD FLAGS(6); 17 #if defined(SHLIB) || defined(DLEXE) 18 dynamic PT_DYNAMIC; 19 #endif 12 20 } 13 21 14 22 SECTIONS { 15 #if def LOADER23 #if defined(LOADER) || defined(DLEXE) 16 24 .interp : { 17 25 *(.interp); 18 26 } :interp 19 27 #endif 28 #ifdef LOADER 20 29 . = 0x70001000 + SIZEOF_HEADERS; 21 30 #else … … 31 40 } :text 32 41 42 #if defined(SHLIB) || defined(DLEXE) 43 .rel.plt : { 44 *(.rel.plt); 45 } 46 /* 47 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 48 * without alignment gap or DT_REL will be broken 49 */ 50 .rel.dyn : { 51 *(.rel.*); 52 } :text 53 54 .plt : { 55 *(.plt); 56 } :text 57 58 .dynsym : { 59 *(.dynsym); 60 } :text 61 62 .dynstr : { 63 *(.dynstr); 64 } :text 65 #endif 33 66 . = . + 0x1000; 67 68 #if defined(SHLIB) || defined(DLEXE) 69 .dynamic : { 70 *(.dynamic); 71 } :data :dynamic 72 #endif 34 73 35 74 .data : { … … 38 77 } :data 39 78 79 #if defined(SHLIB) || defined(DLEXE) 80 .data.rel : { 81 *(.data.rel); 82 } :data 83 84 .got : { 85 *(.got); 86 } :data 87 .got.plt : { 88 *(.got.plt); 89 } :data 90 #endif 91 92 #ifndef DLEXE 40 93 .tdata : { 41 94 _tdata_start = .; … … 48 101 49 102 _tls_alignment = ALIGNOF(.tdata); 103 #endif 50 104 51 105 .bss : { … … 55 109 } :data 56 110 111 #if defined(SHLIB) 112 #elif defined(DLEXE) 113 /DISCARD/ : { 114 *(.comment); 115 } 116 #else 57 117 /DISCARD/ : { 58 118 *(*); 59 119 } 120 #endif 60 121 }
Note:
See TracChangeset
for help on using the changeset viewer.