Changeset fc0b2a8 in mainline
- Timestamp:
- 2018-05-29T21:14:40Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fda19b8
- Parents:
- ed88c8e
- Location:
- uspace
- Files:
-
- 10 added
- 1 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/Makefile.common
red88c8e rfc0b2a8 35 35 # DEFS compiler defines 36 36 # EXTRA_CFLAGS additional flags to pass to C compiler 37 # LINKER_SCRIPT linker script 37 38 # PRE_DEPEND targets required for dependency check 38 39 # … … 112 113 LIBPOSIX_PREFIX = $(LIB_PREFIX)/posix 113 114 LIBDLTEST_PREFIX = $(LIB_PREFIX)/dltest 114 115 STARTUP_OBJECT = $(LIBC_PREFIX)/arch/$(UARCH)/src/entry.o116 115 117 116 AFLAGS = --fatal-warnings … … 141 140 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a $(LIBSOFTINT_PREFIX)/libsoftint.a 142 141 143 ifneq ($(LINK_DYNAMIC),y) 142 ifeq ($(LINK_DYNAMIC),y) 143 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld 144 else 144 145 LDFLAGS += -static 145 endif 146 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld 147 endif 148 149 LIB_LINKER_SCRIPT = $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld 146 150 147 151 INCLUDES_FLAGS = $(LIBC_INCLUDES_FLAGS) … … 297 301 298 302 ifneq ($(BINARY),) 299 $(BINARY): $( OBJECTS) $(LIBTAGS) $(BASE_LIBS)300 $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) - Wl,-Map,$@.map -o $@ $(STARTUP_OBJECT)$(OBJECTS) $(LIBARGS) $(BASE_LIBS)303 $(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(BASE_LIBS) 304 $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(OBJECTS) $(LIBARGS) $(BASE_LIBS) 301 305 endif 302 306 303 307 ifneq ($(TEST_BINARY),) 304 $(TEST_BINARY): $( TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS) $(BASE_LIBS)305 $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) - Wl,-Map,$@.map -o $@ $(STARTUP_OBJECT)$(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBARGS) $(BASE_LIBS)308 $(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS) $(BASE_LIBS) 309 $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBARGS) $(BASE_LIBS) 306 310 endif 307 311 … … 319 323 $(AR) rc $@ $(LOBJECTS) 320 324 321 $(SLIBRARY): $(LIB RARY).la322 $(CC) $(CFLAGS) $(LIB_LDFLAGS) $(EXTRA_LDFLAGS) - Wl,-Map,$@.map -o $@ -Wl,--whole-archive $(LIBRARY).la -Wl,--no-whole-archive325 $(SLIBRARY): $(LIB_LINKER_SCRIPT) $(LIBRARY).la 326 $(CC) $(CFLAGS) $(LIB_LDFLAGS) $(EXTRA_LDFLAGS) -T $(LIB_LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ -Wl,--whole-archive $(LIBRARY).la -Wl,--no-whole-archive 323 327 324 328 $(LSONAME): -
uspace/lib/c/Makefile
red88c8e rfc0b2a8 33 33 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config 34 34 35 LINKER_SCRIPTS = \ 36 $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld \ 37 $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld \ 38 $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld 39 40 PRE_DEPEND = 41 EXTRA_OUTPUT = $(LINKER_SCRIPTS) 42 EXTRA_CLEAN = $(LINKER_SCRIPTS) 35 43 LIBRARY = libc 36 44 SOVERSION = 0.0 … … 182 190 include $(USPACE_PREFIX)/Makefile.common 183 191 192 $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in 193 $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@ 194 195 $(LIBC_PREFIX)/arch/$(UARCH)/_link-shlib.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in 196 $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DSHLIB -E -x c $< | grep -v "^\#" > $@ 197 198 $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in 199 $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@ 200 184 201 AUTOCHECK = $(realpath $(ROOT_PATH)/tools/autocheck.awk) 185 202 -
uspace/lib/pcut/Makefile
red88c8e rfc0b2a8 36 36 37 37 test-libpcut-%: $(LIBRARY).a 38 $(CC) $(CFLAGS) $(LDFLAGS) - o $@ $(STARTUP_OBJECT) $^ $(LIBRARY).a $(BASE_LIBS)38 $(CC) $(CFLAGS) $(LDFLAGS) -T $(LINKER_SCRIPT) -o $@ $(STARTUP) $^ $(LIBRARY).a $(BASE_LIBS) 39 39 -
uspace/lib/pcut/update-from-master.sh
red88c8e rfc0b2a8 80 80 81 81 test-libpcut-%: $(LIBRARY).a 82 $(CC) $(CFLAGS) $(LDFLAGS) - o $@ $(STARTUP_OBJECT) $^ $(LIBRARY).a $(BASE_LIBS)82 $(CC) $(CFLAGS) $(LDFLAGS) -T $(LINKER_SCRIPT) -o $@ $(STARTUP) $^ $(LIBRARY).a $(BASE_LIBS) 83 83 84 84 EOF_MAKEFILE_TAIL -
uspace/lib/posix/Makefile
red88c8e rfc0b2a8 36 36 37 37 SPECS = gcc.specs 38 LIBC_STARTUP_FILE = $(STARTUP_OBJECT) 38 LIBC_LINKER_SCRIPT = $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld 39 LIBC_STARTUP_FILE = $(shell sed -n -e 's/^.*STARTUP(\(.*\)).*$$/\1/p' $(LIBC_LINKER_SCRIPT)) 40 EXPORT_LINKER_SCRIPT = link.ld 39 41 EXPORT_STARTUP_FILE = crt0.o 40 42 … … 47 49 $(LIBRARY).a \ 48 50 $(EXPORT_STARTUP_FILE) \ 51 $(EXPORT_LINKER_SCRIPT) \ 49 52 $(SPECS) 50 53 … … 52 55 EXTRA_CLEAN = $(INCLUDE_LIBC) 53 56 54 EXTRA_OUTPUT = $(SPECS) $(EXPORT_ STARTUP_FILE)57 EXTRA_OUTPUT = $(SPECS) $(EXPORT_LINKER_SCRIPT) $(EXPORT_STARTUP_FILE) 55 58 56 59 SOURCES = \ … … 87 90 88 91 EXPORT_LDFLAGS = \ 89 -L$$(HELENOS_EXPORT_ROOT)/lib 92 -L$$(HELENOS_EXPORT_ROOT)/lib \ 93 -T link.ld 90 94 91 95 EXPORT_LDLIBS = \ … … 107 111 echo '$(EXPORT_LDLIBS)' >> $@.new 108 112 mv $@.new $@ 113 114 $(EXPORT_LINKER_SCRIPT): $(LIBC_LINKER_SCRIPT) 115 sed 's/STARTUP(.*)/STARTUP(crt0.o)/' $< > $@ 109 116 110 117 $(EXPORT_STARTUP_FILE): $(LIBC_STARTUP_FILE) -
uspace/srv/loader/Makefile
red88c8e rfc0b2a8 29 29 30 30 USPACE_PREFIX = ../.. 31 ROOT_PATH = $(USPACE_PREFIX)/..32 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config33 31 34 include $(CONFIG_MAKEFILE) 35 36 ifeq ($(UARCH),ia64) 37 # IA64 has a peculiar linker script with a fixed data segment address. 38 # Because the loader is a separate nonrelocatable binary in the same 39 # address space as the application, we provide a modified copy of 40 # the default linker script to work around that. 41 EXTRA_LDFLAGS = -T elf64_ia64_loader.x 42 else 43 # On all other architectures, we can simply move the text segment. 44 EXTRA_LDFLAGS = -Wl,-Ttext-segment=0x70000000 45 endif 32 EXTRA_LDFLAGS = -Wl,-Ttext-segment=0x70000000 46 33 47 34 BINARY = loader
Note:
See TracChangeset
for help on using the changeset viewer.