Compare commits
49 Commits
master
...
master-ris
Author | SHA1 | Date | |
---|---|---|---|
b610138c5d | |||
8c9b12bd51 | |||
78bb9b7abb | |||
1aa58898d9 | |||
79cae1d68f | |||
47425b3d93 | |||
61ee3cfaf4 | |||
8c0d916164 | |||
179df180b5 | |||
a77c10b883 | |||
cd8fe0e97d | |||
cc527e2606 | |||
121a76ad9b | |||
1d5f1f1838 | |||
a77b2b2773 | |||
f961a694a2 | |||
5a1837b1f7 | |||
a1126476b9 | |||
1cff41dd07 | |||
8e91a39e86 | |||
f51ed1b0d8 | |||
6e5ee46df7 | |||
e37edb8cbb | |||
33102e5295 | |||
33af6fc222 | |||
3ddf984c1d | |||
10f004121d | |||
b1e7b58e21 | |||
443e6edaac | |||
11a75f7499 | |||
43a3db2596 | |||
4510afd302 | |||
9432139894 | |||
654349aa11 | |||
3b8a9cac14 | |||
7aa8980a44 | |||
df0cbdcb5d | |||
2376be8a2a | |||
948d611882 | |||
d9a688a462 | |||
a27065ed2b | |||
a26c9756d6 | |||
61087a9352 | |||
10e63a9ab4 | |||
8d1ed6b2bc | |||
0e0bb97508 | |||
24bb58f8b3 | |||
273a6e3e21 | |||
b840e5963d |
@ -0,0 +1,69 @@
|
||||
From 855b4aaeabdcddce04ff9295c4b0e6c7aa6db96b Mon Sep 17 00:00:00 2001
|
||||
From: Ian Lance Taylor <iant@golang.org>
|
||||
Date: Mon, 17 Feb 2020 18:16:41 -0800
|
||||
Subject: [PATCH] cmd/go: update -DGOPKGPATH to use current pkgpath encoding
|
||||
|
||||
This will need to be done in the gc version too, probably more cleverly.
|
||||
This version will ensure that the next GCC release works correctly
|
||||
when using the GCC version of the go tool.
|
||||
|
||||
Updates golang/go#37272
|
||||
|
||||
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/219817
|
||||
---
|
||||
gcc/go/gofrontend/MERGE | 2 +-
|
||||
libgo/go/cmd/go/internal/work/gccgo.go | 26 ++++++++++++++++++++------
|
||||
2 files changed, 21 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
|
||||
index 47dd5fb..ce10ee1 100644
|
||||
--- a/gcc/go/gofrontend/MERGE
|
||||
+++ b/gcc/go/gofrontend/MERGE
|
||||
@@ -1,4 +1,4 @@
|
||||
-8505defaa91ecc5b42afd02eb335981e8b02b288
|
||||
+d5d00d310ec33aeb18f33f807956ec0c4eeea6bb
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
diff --git a/libgo/go/cmd/go/internal/work/gccgo.go b/libgo/go/cmd/go/internal/work/gccgo.go
|
||||
index f6fa17d..63d5c62 100644
|
||||
--- a/libgo/go/cmd/go/internal/work/gccgo.go
|
||||
+++ b/libgo/go/cmd/go/internal/work/gccgo.go
|
||||
@@ -596,14 +596,28 @@ func gccgoPkgpath(p *load.Package) string {
|
||||
return p.ImportPath
|
||||
}
|
||||
|
||||
+// gccgoCleanPkgpath returns the form of p's pkgpath that gccgo uses
|
||||
+// for symbol names. This is like gccgoPkgpathToSymbolNew in cmd/cgo/out.go.
|
||||
func gccgoCleanPkgpath(p *load.Package) string {
|
||||
- clean := func(r rune) rune {
|
||||
+ ppath := gccgoPkgpath(p)
|
||||
+ bsl := []byte{}
|
||||
+ changed := false
|
||||
+ for _, c := range []byte(ppath) {
|
||||
switch {
|
||||
- case 'A' <= r && r <= 'Z', 'a' <= r && r <= 'z',
|
||||
- '0' <= r && r <= '9':
|
||||
- return r
|
||||
+ case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z',
|
||||
+ '0' <= c && c <= '9', c == '_':
|
||||
+ bsl = append(bsl, c)
|
||||
+ case c == '.':
|
||||
+ bsl = append(bsl, ".x2e"...)
|
||||
+ changed = true
|
||||
+ default:
|
||||
+ encbytes := []byte(fmt.Sprintf("..z%02x", c))
|
||||
+ bsl = append(bsl, encbytes...)
|
||||
+ changed = true
|
||||
}
|
||||
- return '_'
|
||||
}
|
||||
- return strings.Map(clean, gccgoPkgpath(p))
|
||||
+ if !changed {
|
||||
+ return ppath
|
||||
+ }
|
||||
+ return string(bsl)
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
9
gcc.spec
9
gcc.spec
@ -115,7 +115,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}%{?dist}
|
||||
Release: %{gcc_release}.0.riscv64%{?dist}
|
||||
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
|
||||
# GCC Runtime Exception.
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
||||
@ -265,6 +265,9 @@ Patch9: gcc10-Wno-format-security.patch
|
||||
Patch10: gcc10-rh1574936.patch
|
||||
Patch11: gcc10-d-shared-libphobos.patch
|
||||
|
||||
Patch20: libgo-install-internal-reflectlite-gox.patch
|
||||
Patch21: cmd-go-update-DGOPKGPATH-to-use-current-pkgpath-encoding.patch
|
||||
|
||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||
# target triple.
|
||||
%ifnarch %{arm}
|
||||
@ -776,6 +779,10 @@ to NVidia PTX capable devices if available.
|
||||
%endif
|
||||
%patch11 -p0 -b .d-shared-libphobos~
|
||||
|
||||
# These will be part of 0.9 build (taken from upstream branch)
|
||||
%patch20 -p1 -b .libgo-fix-bootstrap~
|
||||
%patch21 -p1 -b .fix-cmd-go~
|
||||
|
||||
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
|
||||
|
||||
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
|
||||
|
176
libgo-install-internal-reflectlite-gox.patch
Normal file
176
libgo-install-internal-reflectlite-gox.patch
Normal file
@ -0,0 +1,176 @@
|
||||
From 72700543b67561ab6a466e93b4c0d4fa8e6530e6 Mon Sep 17 00:00:00 2001
|
||||
From: Ian Lance Taylor <iant@golang.org>
|
||||
Date: Sat, 15 Feb 2020 15:57:29 -0800
|
||||
Subject: [PATCH] libgo: install internal/reflectlite.gox
|
||||
|
||||
This makes it possible to use gccgo to bootstrap Go 1.14.
|
||||
If we don't install this, gccgo can't compile the sort package.
|
||||
|
||||
Fixes GCC PR go/93679
|
||||
|
||||
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/219617
|
||||
---
|
||||
gcc/go/gofrontend/MERGE | 2 +-
|
||||
libgo/Makefile.am | 5 ++++
|
||||
libgo/Makefile.in | 63 ++++++++++++++++++++++++++++++++++++++-----------
|
||||
3 files changed, 55 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
|
||||
index e67d792..47dd5fb 100644
|
||||
--- a/gcc/go/gofrontend/MERGE
|
||||
+++ b/gcc/go/gofrontend/MERGE
|
||||
@@ -1,4 +1,4 @@
|
||||
-f368afbbd466941dcc6717412d7182e122b40c93
|
||||
+8505defaa91ecc5b42afd02eb335981e8b02b288
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
|
||||
index 56d38f5..dea09de 100644
|
||||
--- a/libgo/Makefile.am
|
||||
+++ b/libgo/Makefile.am
|
||||
@@ -397,6 +397,11 @@ toolexeclibgounicode_DATA = \
|
||||
unicode/utf16.gox \
|
||||
unicode/utf8.gox
|
||||
|
||||
+# Some internal packages are needed to bootstrap the gc toolchain.
|
||||
+toolexeclibgointernaldir = $(toolexeclibgodir)/internal
|
||||
+toolexeclibgointernal_DATA = \
|
||||
+ internal/reflectlite.gox
|
||||
+
|
||||
# Some packages are only needed for tests, so unlike the other
|
||||
# internal packages nothing will explicitly depend on them.
|
||||
# Force them to be built.
|
||||
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
|
||||
index 0ff6ba1..607b88c 100644
|
||||
--- a/libgo/Makefile.in
|
||||
+++ b/libgo/Makefile.in
|
||||
@@ -174,6 +174,7 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
|
||||
"$(DESTDIR)$(toolexeclibgoimagedir)" \
|
||||
"$(DESTDIR)$(toolexeclibgoimagecolordir)" \
|
||||
"$(DESTDIR)$(toolexeclibgoindexdir)" \
|
||||
+ "$(DESTDIR)$(toolexeclibgointernaldir)" \
|
||||
"$(DESTDIR)$(toolexeclibgoiodir)" \
|
||||
"$(DESTDIR)$(toolexeclibgologdir)" \
|
||||
"$(DESTDIR)$(toolexeclibgomathdir)" \
|
||||
@@ -335,13 +336,14 @@ DATA = $(noinst_DATA) $(toolexeclibgo_DATA) \
|
||||
$(toolexeclibgoencoding_DATA) $(toolexeclibgogo_DATA) \
|
||||
$(toolexeclibgohash_DATA) $(toolexeclibgohtml_DATA) \
|
||||
$(toolexeclibgoimage_DATA) $(toolexeclibgoimagecolor_DATA) \
|
||||
- $(toolexeclibgoindex_DATA) $(toolexeclibgoio_DATA) \
|
||||
- $(toolexeclibgolog_DATA) $(toolexeclibgomath_DATA) \
|
||||
- $(toolexeclibgomime_DATA) $(toolexeclibgonet_DATA) \
|
||||
- $(toolexeclibgonethttp_DATA) $(toolexeclibgonetrpc_DATA) \
|
||||
- $(toolexeclibgoos_DATA) $(toolexeclibgopath_DATA) \
|
||||
- $(toolexeclibgoregexp_DATA) $(toolexeclibgoruntime_DATA) \
|
||||
- $(toolexeclibgosync_DATA) $(toolexeclibgotesting_DATA) \
|
||||
+ $(toolexeclibgoindex_DATA) $(toolexeclibgointernal_DATA) \
|
||||
+ $(toolexeclibgoio_DATA) $(toolexeclibgolog_DATA) \
|
||||
+ $(toolexeclibgomath_DATA) $(toolexeclibgomime_DATA) \
|
||||
+ $(toolexeclibgonet_DATA) $(toolexeclibgonethttp_DATA) \
|
||||
+ $(toolexeclibgonetrpc_DATA) $(toolexeclibgoos_DATA) \
|
||||
+ $(toolexeclibgopath_DATA) $(toolexeclibgoregexp_DATA) \
|
||||
+ $(toolexeclibgoruntime_DATA) $(toolexeclibgosync_DATA) \
|
||||
+ $(toolexeclibgotesting_DATA) \
|
||||
$(toolexeclibgotestinginternal_DATA) $(toolexeclibgotext_DATA) \
|
||||
$(toolexeclibgotexttemplate_DATA) $(toolexeclibgounicode_DATA)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
@@ -859,6 +861,12 @@ toolexeclibgounicode_DATA = \
|
||||
unicode/utf8.gox
|
||||
|
||||
|
||||
+# Some internal packages are needed to bootstrap the gc toolchain.
|
||||
+toolexeclibgointernaldir = $(toolexeclibgodir)/internal
|
||||
+toolexeclibgointernal_DATA = \
|
||||
+ internal/reflectlite.gox
|
||||
+
|
||||
+
|
||||
# Some packages are only needed for tests, so unlike the other
|
||||
# internal packages nothing will explicitly depend on them.
|
||||
# Force them to be built.
|
||||
@@ -1850,6 +1858,27 @@ uninstall-toolexeclibgoindexDATA:
|
||||
@list='$(toolexeclibgoindex_DATA)'; test -n "$(toolexeclibgoindexdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(toolexeclibgoindexdir)'; $(am__uninstall_files_from_dir)
|
||||
+install-toolexeclibgointernalDATA: $(toolexeclibgointernal_DATA)
|
||||
+ @$(NORMAL_INSTALL)
|
||||
+ @list='$(toolexeclibgointernal_DATA)'; test -n "$(toolexeclibgointernaldir)" || list=; \
|
||||
+ if test -n "$$list"; then \
|
||||
+ echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibgointernaldir)'"; \
|
||||
+ $(MKDIR_P) "$(DESTDIR)$(toolexeclibgointernaldir)" || exit 1; \
|
||||
+ fi; \
|
||||
+ for p in $$list; do \
|
||||
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
+ echo "$$d$$p"; \
|
||||
+ done | $(am__base_list) | \
|
||||
+ while read files; do \
|
||||
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(toolexeclibgointernaldir)'"; \
|
||||
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(toolexeclibgointernaldir)" || exit $$?; \
|
||||
+ done
|
||||
+
|
||||
+uninstall-toolexeclibgointernalDATA:
|
||||
+ @$(NORMAL_UNINSTALL)
|
||||
+ @list='$(toolexeclibgointernal_DATA)'; test -n "$(toolexeclibgointernaldir)" || list=; \
|
||||
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
+ dir='$(DESTDIR)$(toolexeclibgointernaldir)'; $(am__uninstall_files_from_dir)
|
||||
install-toolexeclibgoioDATA: $(toolexeclibgoio_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(toolexeclibgoio_DATA)'; test -n "$(toolexeclibgoiodir)" || list=; \
|
||||
@@ -2319,7 +2348,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) config.h \
|
||||
all-local
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
- for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibgodir)" "$(DESTDIR)$(toolexeclibgoarchivedir)" "$(DESTDIR)$(toolexeclibgocompressdir)" "$(DESTDIR)$(toolexeclibgocontainerdir)" "$(DESTDIR)$(toolexeclibgocryptodir)" "$(DESTDIR)$(toolexeclibgocryptox509dir)" "$(DESTDIR)$(toolexeclibgodatabasedir)" "$(DESTDIR)$(toolexeclibgodatabasesqldir)" "$(DESTDIR)$(toolexeclibgodebugdir)" "$(DESTDIR)$(toolexeclibgoencodingdir)" "$(DESTDIR)$(toolexeclibgogodir)" "$(DESTDIR)$(toolexeclibgohashdir)" "$(DESTDIR)$(toolexeclibgohtmldir)" "$(DESTDIR)$(toolexeclibgoimagedir)" "$(DESTDIR)$(toolexeclibgoimagecolordir)" "$(DESTDIR)$(toolexeclibgoindexdir)" "$(DESTDIR)$(toolexeclibgoiodir)" "$(DESTDIR)$(toolexeclibgologdir)" "$(DESTDIR)$(toolexeclibgomathdir)" "$(DESTDIR)$(toolexeclibgomimedir)" "$(DESTDIR)$(toolexeclibgonetdir)" "$(DESTDIR)$(toolexeclibgonethttpdir)" "$(DESTDIR)$(toolexeclibgonetrpcdir)" "$(DESTDIR)$(toolexeclibgoosdir)" "$(DESTDIR)$(toolexeclibgopathdir)" "$(DESTDIR)$(toolexeclibgoregexpdir)" "$(DESTDIR)$(toolexeclibgoruntimedir)" "$(DESTDIR)$(toolexeclibgosyncdir)" "$(DESTDIR)$(toolexeclibgotestingdir)" "$(DESTDIR)$(toolexeclibgotestinginternaldir)" "$(DESTDIR)$(toolexeclibgotextdir)" "$(DESTDIR)$(toolexeclibgotexttemplatedir)" "$(DESTDIR)$(toolexeclibgounicodedir)"; do \
|
||||
+ for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibgodir)" "$(DESTDIR)$(toolexeclibgoarchivedir)" "$(DESTDIR)$(toolexeclibgocompressdir)" "$(DESTDIR)$(toolexeclibgocontainerdir)" "$(DESTDIR)$(toolexeclibgocryptodir)" "$(DESTDIR)$(toolexeclibgocryptox509dir)" "$(DESTDIR)$(toolexeclibgodatabasedir)" "$(DESTDIR)$(toolexeclibgodatabasesqldir)" "$(DESTDIR)$(toolexeclibgodebugdir)" "$(DESTDIR)$(toolexeclibgoencodingdir)" "$(DESTDIR)$(toolexeclibgogodir)" "$(DESTDIR)$(toolexeclibgohashdir)" "$(DESTDIR)$(toolexeclibgohtmldir)" "$(DESTDIR)$(toolexeclibgoimagedir)" "$(DESTDIR)$(toolexeclibgoimagecolordir)" "$(DESTDIR)$(toolexeclibgoindexdir)" "$(DESTDIR)$(toolexeclibgointernaldir)" "$(DESTDIR)$(toolexeclibgoiodir)" "$(DESTDIR)$(toolexeclibgologdir)" "$(DESTDIR)$(toolexeclibgomathdir)" "$(DESTDIR)$(toolexeclibgomimedir)" "$(DESTDIR)$(toolexeclibgonetdir)" "$(DESTDIR)$(toolexeclibgonethttpdir)" "$(DESTDIR)$(toolexeclibgonetrpcdir)" "$(DESTDIR)$(toolexeclibgoosdir)" "$(DESTDIR)$(toolexeclibgopathdir)" "$(DESTDIR)$(toolexeclibgoregexpdir)" "$(DESTDIR)$(toolexeclibgoruntimedir)" "$(DESTDIR)$(toolexeclibgosyncdir)" "$(DESTDIR)$(toolexeclibgotestingdir)" "$(DESTDIR)$(toolexeclibgotestinginternaldir)" "$(DESTDIR)$(toolexeclibgotextdir)" "$(DESTDIR)$(toolexeclibgotexttemplatedir)" "$(DESTDIR)$(toolexeclibgounicodedir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
@@ -2401,7 +2430,8 @@ install-exec-am: install-exec-local install-toolexeclibLIBRARIES \
|
||||
install-toolexeclibgohashDATA install-toolexeclibgohtmlDATA \
|
||||
install-toolexeclibgoimageDATA \
|
||||
install-toolexeclibgoimagecolorDATA \
|
||||
- install-toolexeclibgoindexDATA install-toolexeclibgoioDATA \
|
||||
+ install-toolexeclibgoindexDATA \
|
||||
+ install-toolexeclibgointernalDATA install-toolexeclibgoioDATA \
|
||||
install-toolexeclibgologDATA install-toolexeclibgomathDATA \
|
||||
install-toolexeclibgomimeDATA install-toolexeclibgonetDATA \
|
||||
install-toolexeclibgonethttpDATA \
|
||||
@@ -2470,8 +2500,10 @@ uninstall-am: uninstall-toolexeclibLIBRARIES \
|
||||
uninstall-toolexeclibgohtmlDATA \
|
||||
uninstall-toolexeclibgoimageDATA \
|
||||
uninstall-toolexeclibgoimagecolorDATA \
|
||||
- uninstall-toolexeclibgoindexDATA uninstall-toolexeclibgoioDATA \
|
||||
- uninstall-toolexeclibgologDATA uninstall-toolexeclibgomathDATA \
|
||||
+ uninstall-toolexeclibgoindexDATA \
|
||||
+ uninstall-toolexeclibgointernalDATA \
|
||||
+ uninstall-toolexeclibgoioDATA uninstall-toolexeclibgologDATA \
|
||||
+ uninstall-toolexeclibgomathDATA \
|
||||
uninstall-toolexeclibgomimeDATA uninstall-toolexeclibgonetDATA \
|
||||
uninstall-toolexeclibgonethttpDATA \
|
||||
uninstall-toolexeclibgonetrpcDATA \
|
||||
@@ -2512,7 +2544,8 @@ uninstall-am: uninstall-toolexeclibLIBRARIES \
|
||||
install-toolexeclibgohashDATA install-toolexeclibgohtmlDATA \
|
||||
install-toolexeclibgoimageDATA \
|
||||
install-toolexeclibgoimagecolorDATA \
|
||||
- install-toolexeclibgoindexDATA install-toolexeclibgoioDATA \
|
||||
+ install-toolexeclibgoindexDATA \
|
||||
+ install-toolexeclibgointernalDATA install-toolexeclibgoioDATA \
|
||||
install-toolexeclibgologDATA install-toolexeclibgomathDATA \
|
||||
install-toolexeclibgomimeDATA install-toolexeclibgonetDATA \
|
||||
install-toolexeclibgonethttpDATA \
|
||||
@@ -2543,8 +2576,10 @@ uninstall-am: uninstall-toolexeclibLIBRARIES \
|
||||
uninstall-toolexeclibgohtmlDATA \
|
||||
uninstall-toolexeclibgoimageDATA \
|
||||
uninstall-toolexeclibgoimagecolorDATA \
|
||||
- uninstall-toolexeclibgoindexDATA uninstall-toolexeclibgoioDATA \
|
||||
- uninstall-toolexeclibgologDATA uninstall-toolexeclibgomathDATA \
|
||||
+ uninstall-toolexeclibgoindexDATA \
|
||||
+ uninstall-toolexeclibgointernalDATA \
|
||||
+ uninstall-toolexeclibgoioDATA uninstall-toolexeclibgologDATA \
|
||||
+ uninstall-toolexeclibgomathDATA \
|
||||
uninstall-toolexeclibgomimeDATA uninstall-toolexeclibgonetDATA \
|
||||
uninstall-toolexeclibgonethttpDATA \
|
||||
uninstall-toolexeclibgonetrpcDATA \
|
||||
--
|
||||
2.9.3
|
||||
|
Loading…
Reference in New Issue
Block a user