libgo: add "vendor" to pkgpath for vendored standard packages
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 17 May 2017 20:16:13 +0000 (20:16 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 17 May 2017 20:16:13 +0000 (20:16 +0000)
    Ensure that the packages vendored into the standard library do not
    have the same pkgpath as the actual packages.  If we don't, attempts
    to build and test the actual packages will get confused.  The specific
    error I was seeing was import loops, causing some of the packages to
    fail to get initialized, causing an obscure run time crash.

    Reviewed-on: https://go-review.googlesource.com/43610

From-SVN: r248168

gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in

index b1882af5a7f5a8eac6b2da1d3d7c2ee8220f1b81..f7e19d32bd6c7b07a4fee734a9e1a6d2116cbf24 100644 (file)
@@ -1,4 +1,4 @@
-924a1fcc5658a5d66f5015921d7258e3a77519bc
+ba68a42618d1e8516e38da093d3af731d7fd4f06
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index d18f1b89a31c3b7f2d072d729e35f1b87c993eff..8bbd43771447719ecb86638ba1defa121a2bac0b 100644 (file)
@@ -910,7 +910,7 @@ BUILDDEPS = \
 BUILDPACKAGE = \
        $(MKDIR_P) $(@D); \
        files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \
-       $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files
+       $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's|golang_org|vendor/golang_org|'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files
 
 # How to build a .gox file from a .lo file.
 # Matching .o file can either be in the same directory as the .lo (non-PIC
index 0a06038768464b507a35cb2f42e8d0204f0a3f63..cbdd37998369be3ded6df43d9ab7dba72a2d94a9 100644 (file)
@@ -1063,7 +1063,7 @@ BUILDDEPS = \
 BUILDPACKAGE = \
        $(MKDIR_P) $(@D); \
        files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \
-       $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files
+       $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's|golang_org|vendor/golang_org|'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files
 
 
 # How to build a .gox file from a .lo file.