Skip to contentSkip to conversation

GCC fixes and updates

PATCH In review Khem Raj 11 participants 22 messages Sep 6, 2012 – Sep 15, 2012

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover GCC fixes and updates

This patchset switches us back to using svn for SRC_URI and fixes building for armv4 and ppc soft float targets Finally fixes for libgcc to build with new build sequence such that its same with gcc-cross and gcc-cross-initial

The following changes since commit 610f8c0c0cab8e258919689fd641faec28b58caf:

adt-installer: Allow changing YOCTOADT_REPO (2012-09-05 23:27:31 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/gcc-updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-updates

Khem Raj (4):
gcc: Switch SRC_URI to use svn
gcc-4.7: Fix build for armv4/EABI and ppc/Os arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernel gcc-4.7: Backport libgcc fixes to appease the new build sequence

 meta/conf/machine/include/arm/arch-armv4.inc       |    1 +
 meta/recipes-devtools/gcc/gcc-4.7.inc              |   14 +--
 ...-vis_hide-gen-hide-list-Do-not-make-defin.patch |   93 ++++++++++++++++++++
 ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch |   49 +++++++++++
 .../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch    |   29 ++++++
 .../gcc/gcc-4.7/ppc_no_crtsavres.patch             |   21 +++++
 6 files changed, 202 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch
Signature · 1 line
1.7.9.5
author
#1 lore raw

PATCH 1/4 gcc: Switch SRC_URI to use svn

svn tar balls are 96M as compared to 1.3G git tars its unnessary to suck in that much of data.

Fixes [YOCTO #2908]

---
 meta/recipes-devtools/gcc/gcc-4.7.inc |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/gcc/gcc-4.7.inc +4 -4
index 84c230c..affbd54 100644
@@ -11,7 +11,7 @@ PR = "r11"
 # using 4.7.1.0 for upgrade path when we move past 4.7.2 release
 # then we should drop the last 0 as well.
 
-PV = "4.7.1.0+git${SRCPV}"
+PV = "4.7.1.0+svn${SRCPV}"
 
 # BINV should be incremented after updating to a revision
 # after a minor gcc release (e.g. 4.7.1 or 4.7.2) has been made
@@ -21,7 +21,7 @@ PV = "4.7.1.0+git${SRCPV}"
 
 BINV = "4.7.2"
 
-SRCREV = "d07e24f4ab59f264d68d21838795349faab5dede"
+SRCREV = "190218"
 BRANCH = "gcc-4_7-branch"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.7' ], d)}"
 
@@ -36,7 +36,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
 		   file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
 
-SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};protocol=git \
+SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};protocol=http \
 	   file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
 	   file://100-uclibc-conf.patch \
            file://gcc-uclibc-locale-ctype_touplow_t.patch \
@@ -77,7 +77,7 @@ SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};protocol=git \
 	   file://libtool.patch \
 	  "
 
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
 B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
 
 # Language Overrides
Signature · 1 line
1.7.9.5
author
#2 lore raw

PATCH 2/4 gcc-4.7: Fix build for armv4/EABI and ppc/Os

arm patch is a forward port from OE/classic
ppc patch should help in building images with Os

---
 meta/recipes-devtools/gcc/gcc-4.7.inc              |    4 ++-
 .../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch    |   29 ++++++++++++++++++++
 .../gcc/gcc-4.7/ppc_no_crtsavres.patch             |   21 ++++++++++++++
 3 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch
meta/recipes-devtools/gcc/gcc-4.7.inc +3 -1
index affbd54..b455b28 100644
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r11"
+PR = "r12"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.7.1
@@ -75,6 +75,8 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};protocol=http \
 	   file://fix-g++-sysroot.patch \
 	   file://disablesdt.patch \
 	   file://libtool.patch \
+	   file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
+	   file://ppc_no_crtsavres.patch \
 	  "
 
 S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch new file +29 -0
new file mode 100644
index 0000000..6cd645a
@@ -0,0 +1,29 @@
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream
+
+-Khem
+Index: gcc-4_7-branch/gcc/config/arm/linux-eabi.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/arm/linux-eabi.h	2012-08-21 22:54:12.448453417 -0700
++++ gcc-4_7-branch/gcc/config/arm/linux-eabi.h	2012-08-21 23:05:18.008478722 -0700
+@@ -78,10 +78,14 @@
+      %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
+      %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+ 
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
+ #undef  LINK_SPEC
+-#define LINK_SPEC BE8_LINK_SPEC						\
++#define LINK_SPEC BE8_LINK_SPEC TARGET_FIX_V4BX_SPEC			\
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC,				\
+ 		       LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+ 
meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch new file +21 -0
new file mode 100644
index 0000000..88684d3
@@ -0,0 +1,21 @@
+--- a/gcc/config/rs6000/sysv4.h
++++ b/gcc/config/rs6000/sysv4.h
+@@ -246,13 +246,13 @@ do {									\
+ 
+ /* Define cutoff for using external functions to save floating point.
+    When optimizing for size, use external functions when profitable.  */
+-#define FP_SAVE_INLINE(FIRST_REG) (optimize_size			\
++#define FP_SAVE_INLINE(FIRST_REG) (1 || (optimize_size			\
+ 				   ? ((FIRST_REG) == 62			\
+ 				      || (FIRST_REG) == 63)		\
+-				   : (FIRST_REG) < 64)
++				   : (FIRST_REG) < 64))
+ /* And similarly for general purpose registers.  */
+-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32	\
+-				   && !optimize_size)
++#define GP_SAVE_INLINE(FIRST_REG) (1 || ((FIRST_REG) < 32	\
++				   && !optimize_size))
+ 
+ /* Put jump tables in read-only memory, rather than in .text.  */
+ #define JUMP_TABLES_IN_TEXT_SECTION 0
+
Signature · 1 line
1.7.9.5
#3 lore raw

Re: [PATCH 2/4] gcc-4.7: Fix build for armv4/EABI and ppc/Os

Op 6 sep. 2012, om 06:35 heeft Khem Raj <[email protected]> het volgende geschreven:

Quoted 2 lines

arm patch is a forward port from OE/classic
ppc patch should help in building images with Os

Can you add an Upstream-Status to both patches?

Quoted 101 lines

---

meta/recipes-devtools/gcc/gcc-4.7.inc              |    4 ++-
.../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch    |   29 ++++++++++++++++++++
.../gcc/gcc-4.7/ppc_no_crtsavres.patch             |   21 ++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)

create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch

meta/recipes-devtools/gcc/gcc-4.7.inc +0 -0
index affbd54..b455b28 100644
@@ -1,6 +1,6 @@

require gcc-common.inc

meta/recipes-devtools/gcc/gcc-4.7.inc +1 -1
-PR = "r11"
+PR = "r12"

# Third digit in PV should be incremented after a minor release

# happens from this branch on gcc e.g. currently its 4.7.1
meta/recipes-devtools/gcc/gcc-4.7.inc +2 -0
@@ -75,6 +75,8 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};protocol=http \
 	   file://fix-g++-sysroot.patch \
 	   file://disablesdt.patch \
 	   file://libtool.patch \
+	   file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
+	   file://ppc_no_crtsavres.patch \
 	  "
 

S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"

meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch new file +29 -0
new file mode 100644
index 0000000..6cd645a
@@ -0,0 +1,29 @@
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream
+
+-Khem
+Index: gcc-4_7-branch/gcc/config/arm/linux-eabi.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/arm/linux-eabi.h	2012-08-21 22:54:12.448453417 -0700
++++ gcc-4_7-branch/gcc/config/arm/linux-eabi.h	2012-08-21 23:05:18.008478722 -0700
+@@ -78,10 +78,14 @@
+      %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
+      %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+ 
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
+ #undef  LINK_SPEC
+-#define LINK_SPEC BE8_LINK_SPEC						\
++#define LINK_SPEC BE8_LINK_SPEC TARGET_FIX_V4BX_SPEC			\
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC,				\
+ 		       LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+ 
meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch new file +21 -0
new file mode 100644
index 0000000..88684d3
@@ -0,0 +1,21 @@
+--- a/gcc/config/rs6000/sysv4.h
++++ b/gcc/config/rs6000/sysv4.h
+@@ -246,13 +246,13 @@ do {									\
+ 
+ /* Define cutoff for using external functions to save floating point.
+    When optimizing for size, use external functions when profitable.  */
+-#define FP_SAVE_INLINE(FIRST_REG) (optimize_size			\
++#define FP_SAVE_INLINE(FIRST_REG) (1 || (optimize_size			\
+ 				   ? ((FIRST_REG) == 62			\
+ 				      || (FIRST_REG) == 63)		\
+-				   : (FIRST_REG) < 64)
++				   : (FIRST_REG) < 64))
+ /* And similarly for general purpose registers.  */
+-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32	\
+-				   && !optimize_size)
++#define GP_SAVE_INLINE(FIRST_REG) (1 || ((FIRST_REG) < 32	\
++				   && !optimize_size))
+ 
+ /* Put jump tables in read-only memory, rather than in .text.  */
+ #define JUMP_TABLES_IN_TEXT_SECTION 0
+
Signature · 7 lines
1.7.9.5


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
author
#4 lore raw

PATCH 3/4 arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernel

In reply to Khem Raj
---
 meta/conf/machine/include/arm/arch-armv4.inc |    1 +
 1 file changed, 1 insertion(+)
meta/conf/machine/include/arm/arch-armv4.inc +1 -0
index a09c323..cb747ac 100644
@@ -4,6 +4,7 @@ ARMPKGARCH ?= "armv4"
 
 TUNEVALID[armv4] = "Enable instructions for ARMv4"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)}"
+TARGET_LD_KERNEL_ARCH += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "--fix-v4bx", "", d)}"
 MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", ":armv4", "" ,d)}"
 
 require conf/machine/include/arm/arch-arm.inc
Signature · 1 line
1.7.9.5
author
#5 lore raw

PATCH 4/4 gcc-4.7: Backport libgcc fixes to appease the new build sequence

In reply to Khem Raj

This makes the libgcc builds identical when done with gcc-cross-initial or final gcc-cross. Since eglibc only sees gcc-cross-initial it is important that the final libgcc that appears on root file system is same as the one against which eglibc was built.

---
 meta/recipes-devtools/gcc/gcc-4.7.inc              |    4 +-
 ...-vis_hide-gen-hide-list-Do-not-make-defin.patch |   93 ++++++++++++++++++++
 ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch |   49 +++++++++++
 3 files changed, 145 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch
meta/recipes-devtools/gcc/gcc-4.7.inc +3 -1
index b455b28..d8e6421 100644
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r12"
+PR = "r13"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.7.1
@@ -77,6 +77,8 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};protocol=http \
 	   file://libtool.patch \
 	   file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
 	   file://ppc_no_crtsavres.patch \
+	   file://0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch \
+	   file://0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch \
 	  "
 
 S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
meta/recipes-devtools/gcc/gcc-4.7/0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch new file +93 -0

93 lines not on this page · raw message

meta/recipes-devtools/gcc/gcc-4.7/0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch new file +49 -0

49 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#6 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

In reply to Khem Raj

Op 6 sep. 2012, om 06:35 heeft Khem Raj <[email protected]> het volgende geschreven:

Quoted 15 lines

svn tar balls are 96M as compared to 1.3G git tars its unnessary to suck in that much of data.

Fixes [YOCTO #2908]

---
meta/recipes-devtools/gcc/gcc-4.7.inc | 8 ++++----

1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/gcc/gcc-4.7.inc +0 -0
index 84c230c..affbd54 100644

meta/recipes-devtools/gcc/gcc-4.7.inc PR = "r11" · line 14

Quoted 5 lines
meta/recipes-devtools/gcc/gcc-4.7.inc +1 -1
@@ -11,7 +11,7 @@ PR = "r11"
 # using 4.7.1.0 for upgrade path when we move past 4.7.2 release
 # then we should drop the last 0 as well.
 
-PV = "4.7.1.0+git${SRCPV}"
+PV = "4.7.1.0+svn${SRCPV}"

Note that we can't switch back without either bumping PE or moving to 4.7.x. where x > 1

#7 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

In reply to Khem Raj
Quoted 6 lines · Khem Raj

svn tar balls are 96M as compared to 1.3G git tars its unnessary to suck in that much of data.

Fixes [YOCTO #2908]

What about this patch? Carrying around a 1.7GB (Sorry, Khem, that's the size of my tar ball!)
is a bit much, especially when that's what I send to my customers...

Quoted 45 lines
---
  meta/recipes-devtools/gcc/gcc-4.7.inc |    8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/gcc/gcc-4.7.inc +4 -4
index 84c230c..affbd54 100644
@@ -11,7 +11,7 @@ PR = "r11"
  # using 4.7.1.0 for upgrade path when we move past 4.7.2 release
  # then we should drop the last 0 as well.
 
-PV = "4.7.1.0+git${SRCPV}"
+PV = "4.7.1.0+svn${SRCPV}"
 
  # BINV should be incremented after updating to a revision
  # after a minor gcc release (e.g. 4.7.1 or 4.7.2) has been made
@@ -21,7 +21,7 @@ PV = "4.7.1.0+git${SRCPV}"
 
  BINV = "4.7.2"
 
-SRCREV = "d07e24f4ab59f264d68d21838795349faab5dede"
+SRCREV = "190218"
  BRANCH = "gcc-4_7-branch"
  FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.7' ], d)}"
 
@@ -36,7 +36,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
  		   file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
 
-SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};protocol=git \
+SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};protocol=http \
  	   file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
  	   file://100-uclibc-conf.patch \
             file://gcc-uclibc-locale-ctype_touplow_t.patch \
@@ -77,7 +77,7 @@ SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};protocol=git \
  	   file://libtool.patch \
  	  "
 
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
  B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
 
  # Language Overrides
Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#8 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 10 lines · Gary Thomas
Quoted 6 lines · Khem Raj

svn tar balls are 96M as compared to 1.3G git tars its unnessary to suck in that much of data.

Fixes [YOCTO #2908]

What about this patch? Carrying around a 1.7GB (Sorry, Khem, that's the size of my tar ball!)
is a bit much, especially when that's what I send to my customers...

I've been hoping to find some time to do something with the fetcher to try and fix this corner we've ended up pinned into.

Ideally I'd like to see both gcc and eglibc using git, we have git in ASSUME_PROVIDED and everything is optimal.

I'm not going to reach the release point without doing something about this but I would like to stick with git if we can possibly help it.

Having to build subversion-native for critical path components is a major pain and performance issue.

Cheers,

Richard

author
#9 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 10 lines · Richard Purdie
Quoted 9 lines · Gary Thomas
Quoted 6 lines · Khem Raj

svn tar balls are 96M as compared to 1.3G git tars its unnessary to suck in that much of data.

Fixes [YOCTO #2908]

What about this patch? Carrying around a 1.7GB (Sorry, Khem, that's

the size of my tar ball!)

Quoted 5 lines
Quoted 1 line

is a bit much, especially when that's what I send to my customers...

I've been hoping to find some time to do something with the fetcher to try and fix this corner we've ended up pinned into.

Quoted 9 lines

Ideally I'd like to see both gcc and eglibc using git, we have git in ASSUME_PROVIDED and everything is optimal.

I'm not going to reach the release point without doing something about this but I would like to stick with git if we can possibly help it.

Having to build subversion-native for critical path components is a major pain and performance issue.

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever. I was thinking we could Generate tar ball ourselves and put it on yp mirror. And in future use up stream release tar balls.

Quoted 10 lines

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#10 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

Signature · 1 line
Björn
#11 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 6 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#12 lore raw

Re: [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 10 lines · Otavio Salvador
Quoted 6 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Signature · 1 line
Christopher Larson
#13 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

Cheers,

Richard

#14 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 23 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

Quoted 8 lines

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

Sounds ok to me, and there are other uses like my nearly completed 'low bandwidth' yocto kernel recipe tweaks that should be able to leverage something like this as well.

Cheers,

Bruce

Quoted 11 lines

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
#15 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

In reply to Richard Purdie
Quoted 23 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

Quoted 8 lines

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

We'll end with multiple tarballs, aren't we?

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#16 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 30 lines · Otavio Salvador
Quoted 28 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

Quoted 5 lines
Quoted 3 lines

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

We'll end with multiple tarballs, aren't we?

Yes. I'm not seeing that as a big problem for most of the usecases where we'd use this feature. You could skip shipping the big tarball of the whole repo at distribution time.

Cheers,

Richard

#17 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 35 lines · Richard Purdie
Quoted 34 lines · Otavio Salvador
Quoted 31 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

Quoted 5 lines
Quoted 1 line

We'll end with multiple tarballs, aren't we?

Yes. I'm not seeing that as a big problem for most of the usecases where we'd use this feature. You could skip shipping the big tarball of the whole repo at distribution time.

By the way, there're any tool to clean the repo? (as we do for sstate-cache)?

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#18 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

Quoted 37 lines · Otavio Salvador
Quoted 35 lines · Richard Purdie
Quoted 34 lines · Otavio Salvador
Quoted 31 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

We'll end with multiple tarballs, aren't we?

Yes. I'm not seeing that as a big problem for most of the usecases where we'd use this feature. You could skip shipping the big tarball of the whole repo at distribution time.

By the way, there're any tool to clean the repo? (as we do for sstate-cache)?

scripts/clean-workdir cleans tmp/ - not sure about downloads

-M

Quoted 10 lines

--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

_______________________________________________
bitbake-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel

#19 lore raw

Re: [OE-core] [PATCH 1/4] gcc: Switch SRC_URI to use svn

In reply to Richard Purdie
Quoted 23 lines · Richard Purdie
Quoted 8 lines · Chris Larson
Quoted 6 lines · Otavio Salvador
Quoted 5 lines · Björn Stenberg
Quoted 3 lines · Khem Raj

I agree but then 1.7 GB is noticeably huge too and it will only become larger in future so I don't think fetching from git will be a good solution for gcc ever.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

Can we use shallow clones? A quick test of gcc-4.7 gave me a 308 MB tar.gz when cloned with --depth 1.

I did not check if the fetcher has this support but it would be a nice solution.

Shallow clones won't be able to support SRCREV properly, as you can only clone shallowly from HEAD, not from an arbitrary point in history, AFAIK.

Right, shallow clones are a can of worms from a variety of angles.

My current thinking is a ;allowsinglerev=1 parameter to the git fetcher which:

Quoted 8 lines

a) Generates tarballs of single git revisions if tarball generation is turned on
b) Searches for single revision tarballs before trying the main checkout approach.

This would mean that WORKDIR may or may not have a .git directory for any SRC_URI marked with this. I think we should all be able to live with that and it shouldn't break too much?

Ah so finally fetch2 will have same functionality like fetch11 had?

IIRC there is old buq report about this.

Quoted 11 lines

Cheers,

Richard

_______________________________________________
bitbake-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
author
#20 lore raw
In reply to Khem Raj
Quoted 5 lines · Khem Raj

This patchset switches us back to using svn for SRC_URI and fixes building for armv4 and ppc soft float targets Finally fixes for libgcc to build with new build sequence such that its same with gcc-cross and gcc-cross-initial

I have pushed update to this patchset

1. Add upstream status to new patches
2. Replace the ppc Os hack patch with upstream back port

Quoted 30 lines

The following changes since commit 610f8c0c0cab8e258919689fd641faec28b58caf:

adt-installer: Allow changing YOCTOADT_REPO (2012-09-05 23:27:31 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/gcc-updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-updates

Khem Raj (4):
gcc: Switch SRC_URI to use svn
gcc-4.7: Fix build for armv4/EABI and ppc/Os arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernel gcc-4.7: Backport libgcc fixes to appease the new build sequence

 meta/conf/machine/include/arm/arch-armv4.inc       |    1 +
 meta/recipes-devtools/gcc/gcc-4.7.inc              |   14 +--
 ...-vis_hide-gen-hide-list-Do-not-make-defin.patch |   93 ++++++++++++++++++++
 ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch |   49 +++++++++++
 .../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch    |   29 ++++++
 .../gcc/gcc-4.7/ppc_no_crtsavres.patch             |   21 +++++
 6 files changed, 202 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch

--
1.7.9.5

#21 lore raw
In reply to Khem Raj
Quoted 9 lines · Khem Raj

This patchset switches us back to using svn for SRC_URI and fixes building for armv4 and ppc soft float targets Finally fixes for libgcc to build with new build sequence such that its same with gcc-cross and gcc-cross-initial

The following changes since commit 610f8c0c0cab8e258919689fd641faec28b58caf:

   adt-installer: Allow changing YOCTOADT_REPO (2012-09-05 23:27:31 +0100)
Quoted 7 lines

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/gcc-updates
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-updates

Khem Raj (4):
gcc: Switch SRC_URI to use svn

There has already been some discussion about this one.

Quoted 4 lines

gcc-4.7: Fix build for armv4/EABI and ppc/Os arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernel gcc-4.7: Backport libgcc fixes to appease the new build sequence

Merged these last three into OE-Core

Thanks
Sau!

Quoted 12 lines
  meta/conf/machine/include/arm/arch-armv4.inc       |    1 +
  meta/recipes-devtools/gcc/gcc-4.7.inc              |   14 +--
  ...-vis_hide-gen-hide-list-Do-not-make-defin.patch |   93 ++++++++++++++++++++
  ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch |   49 +++++++++++
  .../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch    |   29 ++++++
  .../gcc/gcc-4.7/ppc_no_crtsavres.patch             |   21 +++++
  6 files changed, 202 insertions(+), 5 deletions(-)

create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_no_crtsavres.patch