+Mon Jun 12 13:15:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makerules (lib%.so: lib%_pic.a): Moved this rule to after
+ installation rules.
+
+ * sysdeps/mach/sysdep.h [HAVE_ELF] (ENTRY): Redefine this macro so
+ it uses the `.type' directive, which is necessary for shared
+ libraries to work properly.
+
Thu Jun 8 02:50:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dl-load.c (_dl_map_object): Add MAP_INHERIT flag in mmap
# Pattern rule for libraries: depend on the __.SYMDEF member updated by ranlib.
lib%.a: lib%.a(__.SYMDEF) ;
-ifeq (yes,$(build-shared))
-# Pattern rule to build a shared object from an archive of PIC objects.
-# $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies
-# on other shared objects.
-lib%.so: lib%_pic.a
- $(LINK.o) -shared -o $@ \
- $(LDFLAGS.so) $(LDFLAGS-$(notdir $*).so) \
- -L$(firstword $(objdir) .) -L$(common-objpfx:%/=%) \
- $(LDLIBS-$(notdir $*).so) -Wl,--whole-archive $< \
-
-# Don't try to use -lc when making libc.so itself.
-# Also omits crti.o and crtn.o, which we do not want
-# since we define our own `.init' section specially.
-LDFLAGS-c.so = -nostdlib -nostartfiles
-# Give libc.so an entry point and make it directly runnable itself.
-LDFLAGS-c.so += -Wl,-dynamic-linker -Wl,/lib/ld.so -e __libc_print_version
-endif
-
libobjs: $(foreach o,$(object-suffixes),\
$(common-objpfx)$(patsubst %,$(libtype$o),c)(\
$(notdir $(objects:.o=$o))))
install-others-nosubdir install-sbin-nosubdir
install: install-no-libc.a-nosubdir
\f
+ifeq (yes,$(build-shared))
+# Pattern rule to build a shared object from an archive of PIC objects.
+# This must come after the installation rules so Make doesn't try to
+# build shared libraries in place from the installed *_pic.a files.
+# $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies
+# on other shared objects.
+lib%.so: lib%_pic.a
+ $(LINK.o) -shared -o $@ \
+ $(LDFLAGS.so) $(LDFLAGS-$(notdir $*).so) \
+ -L$(firstword $(objdir) .) -L$(common-objpfx:%/=%) \
+ $(LDLIBS-$(notdir $*).so) -Wl,--whole-archive $< \
+
+# Don't try to use -lc when making libc.so itself.
+# Also omits crti.o and crtn.o, which we do not want
+# since we define our own `.init' section specially.
+LDFLAGS-c.so = -nostdlib -nostartfiles
+# Give libc.so an entry point and make it directly runnable itself.
+LDFLAGS-c.so += -Wl,-dynamic-linker -Wl,/lib/ld.so -e __libc_print_version
+endif
+
+
# Command to compile $< in $(objdir) using the native libraries.
define native-compile
cwd=`pwd`; cd $(@D); $(BUILD_CC) $(BUILD_CFLAGS) \