* Makeconfig (static-start-installed-name): Set to
$(start-installed-name) if not defined.
(+link-static): Use $(static-start-installed-name) instead of
$(start-installed-name).
* sysdeps/mach/hurd/i386/Makefile (static-start-installed-name):
Set to crt0.o.
# some additional bizarre files.
start-installed-name = crt1.o
endif
# some additional bizarre files.
start-installed-name = crt1.o
endif
+# On systems that do not need a special startfile for statically linked
+# binaries, simply set it to the normal name.
+ifndef static-start-installed-name
+static-start-installed-name = $(start-installed-name)
+endif
# Command for linking programs with the C library.
ifndef +link
# Command for linking programs with the C library.
ifndef +link
ifndef +link-static
+link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) \
ifndef +link-static
+link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) \
- $(addprefix $(csu-objpfx),$(start-installed-name)) \
+ $(addprefix $(csu-objpfx),$(static-start-installed-name)) \
$(+preinit) $(+prector) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(+prector) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
+# We need special startup code for statically linked binaries.
+static-start-installed-name = crt0.o
+
ifeq ($(subdir),csu)
extra-objs += crt0.o
install-lib += crt0.o
ifeq ($(subdir),csu)
extra-objs += crt0.o
install-lib += crt0.o