aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-09-03 01:02:29 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-09-03 01:02:29 +0000
commitaff3e6d104bb092b1072988932e3a06383d1faad (patch)
tree85bc2554cc2dd53b4dca8f3799d1b476c1e5cc24
parent615a4e7cfe1f9a70605e699cff3f3812b8c5e30a (diff)
downloadklibc-aff3e6d104bb092b1072988932e3a06383d1faad.tar.gz
Make it a specifiable option where the shared klibc lives. Updateklibc-0.65
information on working platforms (Alpha works 100% including shared)
-rw-r--r--MCONFIG7
-rw-r--r--klibc/Makefile3
-rw-r--r--klibc/README8
-rw-r--r--klibc/interp.S3
4 files changed, 16 insertions, 5 deletions
diff --git a/MCONFIG b/MCONFIG
index cb88b0fe1188d..fa8d0e21df9c3 100644
--- a/MCONFIG
+++ b/MCONFIG
@@ -29,6 +29,13 @@ KLIBC = $(KLIBSRC)/libc.a
LIBGCC = $(shell $(CC) --print-libgcc)
#
+# This indicates the location of the final version of the shared library.
+# THIS MUST BE AN ABSOLUTE PATH WITH NO FINAL SLASH.
+# Leave this empty to make it the root.
+#
+SHLIBDIR = /lib
+
+#
# Include arch-specific rule fragments
#
include $(KLIBSRC)/arch/$(ARCH)/MCONFIG
diff --git a/klibc/Makefile b/klibc/Makefile
index cc6f585e9e1b9..a6c41af314a3c 100644
--- a/klibc/Makefile
+++ b/klibc/Makefile
@@ -85,7 +85,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
ln -f $@ klibc-`cat $(SOLIB).hash`.so
interp.o: interp.S $(SOLIB).hash
- $(CC) $(CFLAGS) -D__ASSEMBLY__ -DSOHASH=\"`cat $(SOLIB).hash`\" \
+ $(CC) $(CFLAGS) -D__ASSEMBLY__ -DLIBDIR=\"$(SHLIBDIR)\" \
+ -DSOHASH=\"`cat $(SOLIB).hash`\" \
-c -o $@ $<
crt0.o: arch/$(ARCH)/crt0.o
diff --git a/klibc/README b/klibc/README
index 48ac6e3938632..315cab018214f 100644
--- a/klibc/README
+++ b/klibc/README
@@ -34,13 +34,15 @@ b) If you're cross-compiling, change ARCH in the main MCONFIG file to
The following is the last known status of various architectures:
- Known to work: arm i386
- Works static, not shared: mips s390 s390x sparc sparc64 arm-thumb
- Need crt0.S updates: alpha ppc
+ Known to work: alpha arm i386
+ Works static, not shared: mips(*) s390 s390x sparc(*) sparc64(*) arm-thumb
+ Need crt0.S updates: ppc
Missing setjmp: ppc64
May or may not work: x86_64
Need porting work: cris ia64 m68k mips64 parisc sh
+ (*) = Linker problem; might work with fixed linker
+
Note that even the "known to work" ones likely have bugs. Please
report them if you run into them.
diff --git a/klibc/interp.S b/klibc/interp.S
index 4b5bcf7898d2b..303943697ba60 100644
--- a/klibc/interp.S
+++ b/klibc/interp.S
@@ -4,7 +4,8 @@
#
.section ".interp","a"
- .ascii "/lib/klibc-"
+ .ascii LIBDIR
+ .ascii "/klibc-"
.ascii SOHASH
.ascii ".so"
.byte 0