summaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-07-27 09:00:07 +0000
committerRoland McGrath <roland@gnu.org>1995-07-27 09:00:07 +0000
commitb8dc6a10ee55180805ea956ec5be3d001169c4ba (patch)
tree3ff4f01583cd3d9bfcd63fef31c85572e9396098 /sysdeps/unix
parent4e1bac76a81d99ff4658fb86edb04356d357017d (diff)
* csu/Makefile [$(elf)=yes] (have-initfini): Set to yes.
[$(have-initfini)=yes]: Test this rather than $(elf) for crtstuff. [start-installed-name-rule]: If this is defined, elide rule for $(objpfx)$(start-installed-name). * sysdeps/unix/sysv/sco3.2.4/Makefile [$(subdir)=csu] (start-installed-rule, start-installed-name-rule): New variables; specify crt1.o, created by our own rule. ($(objpfx)crt1.o): New rule. * configure.in: Require autoconf 2.4.2 or later. Change all AC_CACHE_VAL uses to use new AC_CACHE_CHECK macro instead; prettify some messages. [$elf!=yes] (libc_cv_have_initfini): New test for `.init' and `.fini' sections. * munch-tmpl.c [HAVE_INITFINI]: Call _init and atexit (_fini) in this case rather than #ifdef HAVE_ELF. * config.h.in (HAVE_INITFINI): New macro.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/sco3.2.4/Makefile14
1 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/sco3.2.4/Makefile b/sysdeps/unix/sysv/sco3.2.4/Makefile
index 23525e527d..a199ba9003 100644
--- a/sysdeps/unix/sysv/sco3.2.4/Makefile
+++ b/sysdeps/unix/sysv/sco3.2.4/Makefile
@@ -1,3 +1,17 @@
ifeq (posix,$(subdir))
sysdep_routines := $(sysdep_routines) pgrpsys sco_getgrp
endif
+
+ifeq (csu,$(subdir))
+
+# SCO uses crt1.o, and expects that single initializer file to also start
+# the .init and .fini sections as crti.o normally does.
+start-installed-name = crt1.o
+start-installed-name-rule = yes
+
+# Link together start.o and crti.o into the expected crt1.o.
+# Now crt1.o as initializer and crtn.o as finalizer will work.
+$(objpfx)crt1.o: $(objpfx)start.o $(objpfx)crti.o
+ $(CC) -nostdlib -nostartfiles -Wl,-r -o $@ $^
+
+endif