Changeset 2eadda9 in mainline for uspace/Makefile.common


Ignore:
Timestamp:
2018-07-11T17:45:30Z (6 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
99d3123
Parents:
c2c4127
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-07-11 17:08:12)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-07-11 17:45:30)
Message:

Remove undefined references to main program from shared libc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/Makefile.common

    rc2c4127 r2eadda9  
    118118LIBDLTEST_PREFIX = $(LIB_PREFIX)/dltest
    119119
    120 START_FILES = $(LIBC_PREFIX)/arch/$(UARCH)/src/entry.o
     120START_FILES = $(LIBC_PREFIX)/crt0.o $(LIBC_PREFIX)/crt1.o
    121121
    122122AFLAGS = --fatal-warnings
     
    137137endif
    138138
    139 ifeq ($(STATIC_BUILD),y)
    140         BASE_LIBS = $(LIBC_PREFIX)/libc.a
    141 else
    142         BASE_LIBS = $(LIBC_PREFIX)/libc.so.0
     139ifneq ($(STATIC_BUILD),y)
    143140        LINK_DYNAMIC = y
     141endif
     142
     143BASE_LIBS =
     144
     145ifneq ($(LIBRARY),libc)
     146        ifeq ($(STATIC_BUILD),y)
     147                BASE_LIBS += $(LIBC_PREFIX)/libc.a
     148        else
     149                BASE_LIBS += $(LIBC_PREFIX)/libc.so.0
     150        endif
    144151endif
    145152
     
    286293
    287294LIB_CFLAGS = $(CFLAGS) -fPIC
    288 LIB_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname,$(LSONAME)
     295LIB_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname,$(LSONAME) -Wl,--no-undefined,--no-allow-shlib-undefined
    289296
    290297AS_CFLAGS := $(addprefix -Xassembler ,$(AFLAGS))
     
    340347
    341348ifneq ($(filter %.cpp %.cc %.cxx, $(SOURCES)),)
    342 $(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(CXX_BASE_LIBS)
     349$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS)
    343350        $(CXX) $(CXXFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(START_FILES) $(OBJECTS) $(LIBARGS) $(CXX_BASE_LIBS)
    344351else
    345 $(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(BASE_LIBS)
     352$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS)
    346353        $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(START_FILES) $(OBJECTS) $(LIBARGS) $(BASE_LIBS)
    347354endif
     
    350357
    351358ifneq ($(TEST_BINARY),)
    352 $(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS) $(BASE_LIBS)
     359$(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS)
    353360        $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) -T $(LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ $(START_FILES) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBARGS) $(BASE_LIBS)
    354361endif
     
    368375
    369376$(SLIBRARY): $(LIB_LINKER_SCRIPT) $(LIBRARY).la
    370         $(CC) $(CFLAGS) $(LIB_LDFLAGS) $(EXTRA_LDFLAGS) -T $(LIB_LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ -Wl,--whole-archive $(LIBRARY).la -Wl,--no-whole-archive
     377        $(CC) $(CFLAGS) $(LIB_LDFLAGS) $(EXTRA_LDFLAGS) -T $(LIB_LINKER_SCRIPT) -Wl,-Map,$@.map -o $@ -Wl,--whole-archive $(LIBRARY).la -Wl,--no-whole-archive $(LIBARGS) $(BASE_LIBS)
    371378
    372379$(LSONAME):
Note: See TracChangeset for help on using the changeset viewer.