#endif /* not NO_SHARED_LIBS and not ELF */
#if !defined (NO_SHARED_LIBS) && defined (__ELF__)
-#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o
+#define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o
#define UNEXEC unexelf.o
-#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1
#undef LIB_GCC
#define LIB_GCC
#endif
+#ifdef HAVE_CRTIN
+#define START_FILES_1 /usr/lib/crti.o
+#define END_FILES_1 /usr/lib/crtn.o
+#endif
+
#define HAVE_WAIT_HEADER
#define WAIT_USE_INT
#define C_SWITCH_SYSTEM -I/usr/X11R6/include -I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib -L/usr/local/lib
+/* Link temacs with -z nocombreloc so that unexec works right, whether or
+ not -z combreloc is the default. GNU ld ignores unknown -z KEYWORD
+ switches, so this also works with older versions that don't implement
+ -z combreloc. */
+
+#define LD_SWITCH_SYSTEM_TEMACS -z nocombreloc
+
#endif /* __ELF__ */
/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears