References #743

Signed-off-by: Waldemar Kozaczuk <[email protected]>
---
 .gitmodules             |  4 ----
 Makefile                |  8 +++++++-
 scripts/build           | 10 ++++------
 usr.manifest.skel       |  2 +-
 usr_ramfs.manifest.skel |  2 +-
 usr_rofs.manifest.skel  |  2 +-
 6 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index a7588448..da6d5d62 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,3 @@
-[submodule "external/x64/gcc.bin"]
-       path = external/x64/gcc.bin
-       url = ../../cloudius-systems/gcc.bin
-       ignore = dirty
 [submodule "external/x64/acpica"]
        path = external/x64/acpica
        url = ../../cloudius-systems/acpica
diff --git a/Makefile b/Makefile
index 76ee8e43..69260dd6 100644
--- a/Makefile
+++ b/Makefile
@@ -1923,10 +1923,16 @@ $(bootfs_manifest_dep): phony
                echo -n $(bootfs_manifest) > $(bootfs_manifest_dep) ; \
        fi
 
+ifeq ($(arch),x64)
+libgcc_s_dir := $(dir $(shell $(CC) -print-file-name=libgcc_s.so.1))
+else
+libgcc_s_dir := ../../$(gccbase)/lib64
+endif
+
 $(out)/bootfs.bin: scripts/mkbootfs.py $(bootfs_manifest) 
$(bootfs_manifest_dep) $(tools:%=$(out)/%) \
                $(out)/zpool.so $(out)/zfs.so $(out)/libenviron.so 
$(out)/libvdso.so
        $(call quiet, olddir=`pwd`; cd $(out); "$$olddir"/scripts/mkbootfs.py 
-o bootfs.bin -d bootfs.bin.d -m "$$olddir"/$(bootfs_manifest) \
-               -D gccbase="$$olddir"/$(gccbase), MKBOOTFS $@)
+               -D libgcc_s_dir=$(libgcc_s_dir), MKBOOTFS $@)
 
 $(out)/bootfs.o: $(out)/bootfs.bin
 $(out)/bootfs.o: ASFLAGS += -I$(out)
diff --git a/scripts/build b/scripts/build
index 1fa11b0f..857039b8 100755
--- a/scripts/build
+++ b/scripts/build
@@ -169,9 +169,6 @@ aarch64) image=${vars[image]-uush};;
 esac
 modules=${vars[modules]-!$image}
 
-# TODO: some modules need these... Would be better if they wouldn't...
-gccbase=${vars[gccbase]-"$SRC"/external/$arch/gcc.bin}
-
 case $OUT in
 /*)    OSV_BUILD_PATH=$OUT;;
 *)     OSV_BUILD_PATH=`pwd`/$OUT;;
@@ -256,6 +253,7 @@ kernel_end=$(($loader_size+2097151 & ~2097151))
 # the case in our old build.mk).
 cd $OUT
 
+libgcc_s_dir=$(dirname $(readlink -f $(gcc -print-file-name=libgcc_s.so.1)))
 case $fs_type in
 zfs)
        cp loader.img bare.raw
@@ -267,15 +265,15 @@ zfs)
 
        if [ "$export" == "none" ]
        then
-               "$SRC"/scripts/upload_manifest.py -o usr.img -m usr.manifest -D 
gccbase="$gccbase"
+               "$SRC"/scripts/upload_manifest.py -o usr.img -m usr.manifest -D 
libgcc_s_dir="$libgcc_s_dir"
        else
                export_dir=${vars[export_dir]-$SRC/build/export}
-               "$SRC"/scripts/export_manifest.py -e "$export_dir" -m 
usr.manifest -D gccbase="$gccbase"
+               "$SRC"/scripts/export_manifest.py -e "$export_dir" -m 
usr.manifest -D libgcc_s_dir="$libgcc_s_dir"
        fi
        ;;
 rofs)
        rm -rf rofs.img
-       "$SRC"/scripts/gen-rofs-img.py -o rofs.img -m usr.manifest -D 
gccbase="$gccbase"
+       "$SRC"/scripts/gen-rofs-img.py -o rofs.img -m usr.manifest -D 
libgcc_s_dir="$libgcc_s_dir"
        rofs_size=`stat --printf %s rofs.img`
        img_size=$((kernel_end + rofs_size))
        cp loader.img bare.raw
diff --git a/usr.manifest.skel b/usr.manifest.skel
index 0bb6cb34..32fa8056 100644
--- a/usr.manifest.skel
+++ b/usr.manifest.skel
@@ -9,7 +9,7 @@
 /tools/cpiod.so: tools/cpiod/cpiod.so
 /tools/mount-nfs.so: tools/mount/mount-nfs.so
 /tools/umount.so: tools/mount/umount.so
-/usr/lib/libgcc_s.so.1: %(gccbase)s/lib64/libgcc_s.so.1
+/usr/lib/libgcc_s.so.1: %(libgcc_s_dir)s/libgcc_s.so.1
 /&/etc/hosts: ../../static/&
 /etc/mnttab: ->/proc/mounts
 /&/etc/fstab: ../../static/&
diff --git a/usr_ramfs.manifest.skel b/usr_ramfs.manifest.skel
index 607487e1..36c5e662 100644
--- a/usr_ramfs.manifest.skel
+++ b/usr_ramfs.manifest.skel
@@ -3,7 +3,7 @@
 /libvdso.so: libvdso.so
 /tools/mount-nfs.so: tools/mount/mount-nfs.so
 /tools/umount.so: tools/mount/umount.so
-/usr/lib/libgcc_s.so.1: %(gccbase)s/lib64/libgcc_s.so.1
+/usr/lib/libgcc_s.so.1: %(libgcc_s_dir)s/libgcc_s.so.1
 /&/etc/hosts: ../../static/&
 
 /etc/mnttab: ->/proc/mounts
diff --git a/usr_rofs.manifest.skel b/usr_rofs.manifest.skel
index 2d3c5d1d..ecca8110 100644
--- a/usr_rofs.manifest.skel
+++ b/usr_rofs.manifest.skel
@@ -3,7 +3,7 @@
 /libvdso.so: libvdso.so
 /tools/mount-nfs.so: tools/mount/mount-nfs.so
 /tools/umount.so: tools/mount/umount.so
-/usr/lib/libgcc_s.so.1: %(gccbase)s/lib64/libgcc_s.so.1
+/usr/lib/libgcc_s.so.1: %(libgcc_s_dir)s/libgcc_s.so.1
 /&/etc/hosts: ../../static/&
 
 /etc/mnttab: ->/proc/mounts
-- 
2.20.1

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/20200121052350.13896-3-jwkozaczuk%40gmail.com.

Reply via email to