All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4 V4] Share gcc work directories
@ 2011-06-28  9:05 Robert Yang
  2011-06-28  9:05 ` [PATCH 1/4 V4] bitbake: share source directory Robert Yang
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Robert Yang @ 2011-06-28  9:05 UTC (permalink / raw)
  To: openembedded-core

Changes of V4:

* Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.

  e.g., the entries in the files that look like:
  #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"

  become

  #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"

  and we define SYSTEMLIBS_DIR in defaults.h.

  NOTE, the round brackets:
  #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")

  doesn't work in in the following define:

  #define LINUX_DYNAMIC_LINKER \
          CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)

  so use:
  #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"

* Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
  gcc-cross-canadian which are not needed any more.

* Fix the conflicts(gcc-4.6.0 -> gcc-4.6, and the ${BRANCH})

* Both tested 4.5.1 and 4.6:
  $ bitbake meta-toolchain core-image-sato
  $ runqemu qemurm

  Also unpack the sdk to /opt and test to make sure the toolchain works well.


The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:

  runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib robert/share_gcc
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc

Robert Yang (4):
  bitbake: share source directory
  Share gcc work directories
  gcc-4.5.1: share work directories
  gcc-4.6: share work directories

 bitbake/lib/bb/build.py                            |    4 +-
 bitbake/lib/bb/cache.py                            |    3 +
 bitbake/lib/bb/runqueue.py                         |   10 +++
 meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
 .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
 .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
 meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
 meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
 meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
 11 files changed, 218 insertions(+), 32 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/4 V4] bitbake: share source directory
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
@ 2011-06-28  9:05 ` Robert Yang
  2011-06-28 11:19   ` Richard Purdie
  2011-06-28  9:05 ` [PATCH 2/4 V4] Share gcc work directories Robert Yang
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Robert Yang @ 2011-06-28  9:05 UTC (permalink / raw)
  To: openembedded-core

This patch is derived from Richard, it is a quick proof of concept to
show how source code could be shared between recipes which use ${B} to
have a separate build directory compared to source directory ${S}.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 bitbake/lib/bb/build.py    |    4 ++--
 bitbake/lib/bb/cache.py    |    3 +++
 bitbake/lib/bb/runqueue.py |   10 ++++++++++
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index f69464c..5c70309 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -383,10 +383,10 @@ def stamp_internal(taskname, d, file_name):
         taskflagname = taskname.replace("_setscene", "")
 
     if file_name:
-        stamp = d.stamp[file_name]
+        stamp = d.stamp_base[file_name].get(taskflagname) or d.stamp[file_name]
         extrainfo = d.stamp_extrainfo[file_name].get(taskflagname) or ""
     else:
-        stamp = d.getVar('STAMP', True)
+        stamp = d.getVarFlag(taskflagname, 'stamp-base', True) or d.getVar('STAMP', True)
         file_name = d.getVar('BB_FILENAME', True)
         extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
 
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 6c92a93..99d7395 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -124,6 +124,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
         self.broken = self.getvar('BROKEN', metadata)
         self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata)
         self.stamp = self.getvar('STAMP', metadata)
+        self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
         self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
         self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
         self.depends          = self.depvar('DEPENDS', metadata)
@@ -151,6 +152,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
         cachedata.pkg_dp = {}
 
         cachedata.stamp = {}
+        cachedata.stamp_base = {}
         cachedata.stamp_extrainfo = {}
         cachedata.fn_provides = {}
         cachedata.pn_provides = defaultdict(list)
@@ -183,6 +185,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
         cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr)
         cachedata.pkg_dp[fn] = self.defaultpref
         cachedata.stamp[fn] = self.stamp
+        cachedata.stamp_base[fn] = self.stamp_base
         cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
 
         provides = [self.pn]
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index b801877..e1d32b7 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -105,6 +105,11 @@ class RunQueueScheduler(object):
             if self.rq.runq_running[taskid] == 1:
                 continue
             if self.rq.runq_buildable[taskid] == 1:
+                fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[taskid]]
+                taskname = self.rqdata.runq_task[taskid]
+                stamp = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
+                if stamp in self.rq.build_stamps.values():
+                    continue
                 return taskid
 
     def next(self):
@@ -1009,6 +1014,7 @@ class RunQueueExecute:
         self.runq_complete = []
         self.build_pids = {}
         self.build_pipes = {}
+        self.build_stamps = {}
         self.failed_fnids = []
 
     def runqueue_process_waitpid(self):
@@ -1023,6 +1029,9 @@ class RunQueueExecute:
         del self.build_pids[result[0]]
         self.build_pipes[result[0]].close()
         del self.build_pipes[result[0]]
+        # self.build_stamps[result[0]] may not exist when use shared work directory.
+        if result[0] in self.build_stamps.keys():
+            del self.build_stamps[result[0]]
         if result[1] != 0:
             self.task_fail(task, result[1]>>8)
         else:
@@ -1330,6 +1339,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
 
             self.build_pids[pid] = task
             self.build_pipes[pid] = runQueuePipe(pipein, pipeout, self.cfgData)
+            self.build_stamps[pid] = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
             self.runq_running[task] = 1
             self.stats.taskActive()
             if self.stats.active < self.number_tasks:
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/4 V4] Share gcc work directories
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
  2011-06-28  9:05 ` [PATCH 1/4 V4] bitbake: share source directory Robert Yang
@ 2011-06-28  9:05 ` Robert Yang
  2011-06-28  9:05 ` [PATCH 3/4 V4] gcc-4.5.1: share " Robert Yang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Robert Yang @ 2011-06-28  9:05 UTC (permalink / raw)
  To: openembedded-core

This patched is derived from Richard, make gcc use the shared source
directory during the different building:

1) Make gcc-cross, gcc-cross-initial, gcc-cross-intermediate and
   gcc-runtime share the same source directory.

2) The source directory is ${TMPDIR}/work-shared/gcc-${PV}, for example:
   tmp/work-shared/gcc-4.5.1

3) Fix do_clean to clean the shared source directory and stamps

4) gcc uses sed and creates config files against ${S} which means the
   directory should not be shared. Change the way to make it work:

   * The configure option --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS}
     can replace the sed command, see the code in configure:

        if test "x$with_headers" != x; then
          glibc_header_dir=$with_headers

    This has the same effect as the sed command:

    sed -i 's:^\([  ]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\": ...

    so add the --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS} to
    gcc-configure-cross.inc( not add to gcc-configure-common.inc, since
    not all the gcc building need this, the one which has its own do_configure
    doesn't need it).

   * Move t-oe from ${T} to ${B}/gcc, so that the patched Makefile.in
     can read it easily, please see the commit for gcc-4.5.1 and
     gcc-4.6.0.

   * Use the defaults.h in ${B}/gcc instead of ${S}/gcc, and the patched
     configure.ac(configure) can read it correctly, please see the
     commit for gcc-4.5.1 and gcc-4.6.0.

   * The gcc-crosssdk.inc used sed to edit ${S}/config/*/linux*.h
     to change the GLIBC_DYNAMIC_LINKER, which made the source
     incompatible. To make the source compatible:
     - Use:
	 sed -i ${S}/gcc/config/*/linux*.h -e \
		's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'

	so entries in the files that look like:
	#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
	would become
	#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
	and we define SYSTEMLIBS_DIR in defaults.h.

	NOTE:
	#define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
	doesn't work in in the following define:
	#define LINUX_DYNAMIC_LINKER \
  		CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
	so use
	#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"

5) Add do_configure_prepend to gcc-configure-common.inc and remove the
   one in gcc-crosssdk.inc, this makes it easy to share the source,
   otherwise we need do extra changes in gcc-configure-sdk.inc.

6) Use "cat > file <_EOF" to replace the "echo > file"

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/gcc/gcc-common.inc           |   32 ++++++++++++-
 meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++++++--------
 meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
 meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 ---
 4 files changed, 61 insertions(+), 29 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index a3fa234..7bf036c 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -37,10 +37,38 @@ ${GNU_MIRROR}/gcc/	http://gcc.get-software.com/releases/ \n \
 #
 gcclibdir = "${libdir}/gcc"
 BINV = "${PV}"
-S = "${WORKDIR}/gcc-${PV}"
-B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+#S = "${WORKDIR}/gcc-${PV}"
+S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}"
+B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# SS means Shared Stamps directory
+SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}"
+do_fetch[stamp-base] = "${SS}"
+do_unpack[stamp-base] = "${SS}"
+do_patch[stamp-base] = "${SS}"
+
+# SW means Shared Work directory
+SW = "${TMPDIR}/work-shared/gcc-${PV}"
+WORKDIR_task-unpack = "${SW}"
+WORKDIR_task-patch = "${SW}"
 
 target_includedir ?= "${includedir}"
 target_libdir ?= "${libdir}"
 target_base_libdir ?= "${base_libdir}"
 target_prefix ?= "${prefix}"
+
+CLEANFUNCS += "workshared_clean"
+# The do_clean should be exclusive since share ${S}
+do_clean[lockfiles] = "${TMPDIR}/stamps/work-shared/gcc-${PV}.clean.lock"
+
+python workshared_clean () {
+	"""clear the source directory"""
+	dir = bb.data.expand("${SW}", d)
+	bb.note("Removing " + dir)
+	oe.path.remove(dir)
+
+	"""clear the the stamps in work-shared"""
+	dir = "%s.*" % bb.data.expand(d.getVarFlag('do_fetch', 'stamp-base', True), d)
+	bb.note("Removing " + dir)
+	oe.path.remove(dir)
+}
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index f7b5836..9f5ba33 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -61,6 +61,34 @@ SYSTEMHEADERS = "${target_includedir}"
 SYSTEMLIBS = "${target_base_libdir}/"
 SYSTEMLIBS1 = "${target_libdir}/"
 
+do_configure_prepend () {
+	# Change the default dynamic linker path, only useful for SDK, other's value
+	# are not changed according to the SYSTEMLIBS_DIR
+	sed -i ${S}/gcc/config/*/linux*.h -e \
+		's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
+
+	SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
+	[ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
+	# teach gcc to find correct target includedir when checking libc ssp support
+	mkdir -p ${B}/gcc
+	echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
+	cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${B}/gcc/defaults.h.new
+	cat >>${B}/gcc/defaults.h.new <<_EOF
+#ifndef STANDARD_INCLUDE_DIR
+#define STANDARD_INCLUDE_DIR "${SYSTEMHEADERS}"
+#endif
+#ifndef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "${SYSTEMLIBS}"
+#endif
+#ifndef STANDARD_STARTFILE_PREFIX_2
+#define STANDARD_STARTFILE_PREFIX_2 "${SYSTEMLIBS1}"
+#endif
+#define SYSTEMLIBS_DIR "$SYSTEMLIBS_DIR"
+#endif /* ! GCC_DEFAULTS_H */
+_EOF
+	mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h
+}
+
 do_configure () {
 	# Setup these vars for cross building only
 	# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
@@ -86,27 +114,7 @@ do_configure () {
 	export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
 	export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
 	(cd ${S} && gnu-configize) || die "failure running gnu-configize"
-	
-	# teach gcc to find correct target includedir when checking libc ssp support
-	sed -i 's:^\([ 	]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure.ac
-	sed -i 's:^\([ 	]*\)glibc_header_dir=\"${with_build_sysroot}/usr/include\":\1glibc_header_dir=\"${with_build_sysroot}${SYSTEMHEADERS}\":g' ${S}/gcc/configure
 
-	# splice our idea of where the headers live into gcc's world
-	echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${T}/t-oe
-	sed 's%^tmake_file=.*$%& ${T}/t-oe%' < ${S}/gcc/Makefile.in >${S}/gcc/Makefile.in.new
-	mv ${S}/gcc/Makefile.in.new ${S}/gcc/Makefile.in
-	cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${S}/gcc/defaults.h.new
-	echo "#ifndef STANDARD_INCLUDE_DIR" >> ${S}/gcc/defaults.h.new
-	echo "#define STANDARD_INCLUDE_DIR \"${SYSTEMHEADERS}\"" >> ${S}/gcc/defaults.h.new
-	echo "#endif" >> ${S}/gcc/defaults.h.new
-	echo "#ifndef STANDARD_STARTFILE_PREFIX_1" >> ${S}/gcc/defaults.h.new
-	echo "#define STANDARD_STARTFILE_PREFIX_1 \"${SYSTEMLIBS}\"" >> ${S}/gcc/defaults.h.new
-	echo "#endif" >> ${S}/gcc/defaults.h.new
-	echo "#ifndef STANDARD_STARTFILE_PREFIX_2" >> ${S}/gcc/defaults.h.new
-	echo "#define STANDARD_STARTFILE_PREFIX_2 \"${SYSTEMLIBS1}\"" >> ${S}/gcc/defaults.h.new
-	echo "#endif" >> ${S}/gcc/defaults.h.new
-	echo "#endif /* ! GCC_DEFAULTS_H */" >> ${S}/gcc/defaults.h.new
-	mv ${S}/gcc/defaults.h.new ${S}/gcc/defaults.h
 	oe_runconf
 }
 
diff --git a/meta/recipes-devtools/gcc/gcc-configure-cross.inc b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
index 346d164..36edb81 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
@@ -2,7 +2,9 @@ require gcc-configure-common.inc
 
 USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
 
-EXTRA_OECONF += " --enable-poison-system-directories "
+EXTRA_OECONF += " --enable-poison-system-directories \
+		  --with-headers=${STAGING_DIR_TARGET}${SYSTEMHEADERS} \
+		"
 
 EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${target_exec_prefix} \
 		      --with-gxx-include-dir=${target_includedir}/c++ \
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index 6e7d5a7..0fd82a6 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -8,9 +8,3 @@ GCCMULTILIB = "--disable-multilib"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}libc-for-gcc-nativesdk gettext-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk"
-
-do_configure_prepend () {
-	# Change the default dynamic linker path to the one in the SDK
-	sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib/#\1${SYSTEMLIBS}#'
-	sed -i ${S}/gcc/config/*/linux*.h -e 's#\(GLIBC_DYNAMIC_LINKER.*\)/lib64/#\1${SYSTEMLIBS}#'
-}
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/4 V4] gcc-4.5.1: share work directories
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
  2011-06-28  9:05 ` [PATCH 1/4 V4] bitbake: share source directory Robert Yang
  2011-06-28  9:05 ` [PATCH 2/4 V4] Share gcc work directories Robert Yang
@ 2011-06-28  9:05 ` Robert Yang
  2011-06-28  9:05 ` [PATCH 4/4 V4] gcc-4.6: " Robert Yang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Robert Yang @ 2011-06-28  9:05 UTC (permalink / raw)
  To: openembedded-core

Fix configure and Makefile to read the defaults.h and t-oe from ${B},
so that the ${S} can be shared.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
 .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++++++++
 2 files changed, 58 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index b7d0265..76f9837 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -57,6 +57,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 	   file://gcc-poison-parameters.patch \
 	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
 	   file://COLLECT_GCC_OPTIONS.patch \
+	   file://use-defaults.h-and-t-oe-in-B.patch \
 	  "
 	
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
new file mode 100644
index 0000000..c93e6ca
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
@@ -0,0 +1,57 @@
+Upstream-Status: Pending
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+---
+ gcc/Makefile.in  |    2 +-
+ gcc/configure    |    4 ++--
+ gcc/configure.ac |    4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index d91f93a..03ee2bd 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -461,7 +461,7 @@ LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
+ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index f440fa2..dafb0c1 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -10838,8 +10838,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index d003091..ba422e6 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1652,8 +1652,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+-- 
+1.7.1
+
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/4 V4] gcc-4.6: share work directories
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
                   ` (2 preceding siblings ...)
  2011-06-28  9:05 ` [PATCH 3/4 V4] gcc-4.5.1: share " Robert Yang
@ 2011-06-28  9:05 ` Robert Yang
  2011-06-28 14:53 ` [PATCH 0/4 V4] Share gcc " Richard Purdie
  2011-06-30 23:26 ` Saul Wold
  5 siblings, 0 replies; 17+ messages in thread
From: Robert Yang @ 2011-06-28  9:05 UTC (permalink / raw)
  To: openembedded-core

* Fix configure and Makefile to read the defaults.h and t-oe from ${B},
  so that the ${S} can be shared.

* Change ${S} to the shared source directory.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
 .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
 2 files changed, 84 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 577e7f7..a012049 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -66,11 +66,14 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
 	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
 	   file://COLLECT_GCC_OPTIONS.patch \
            file://volatile_access_backport.patch \
+           file://use-defaults.h-and-t-oe-in-B.patch \
 	  "
 
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
 
-S = "${WORKDIR}/${BRANCH}"
+#S = "${WORKDIR}/${BRANCH}"
+S = "${TMPDIR}/work-shared/gcc-${PV}/${BRANCH}"
+B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
 
 # Language Overrides
 FORTRAN = ""
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch b/meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
new file mode 100644
index 0000000..b4351ee
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
@@ -0,0 +1,80 @@
+Upstream-Status: Pending
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+---
+ gcc/Makefile.in  |    2 +-
+ gcc/configure    |    4 ++--
+ gcc/configure.ac |    4 ++--
+ gcc/mkconfig.sh  |    4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 7790915..3a0c34a 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -463,7 +463,7 @@ LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
+ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index 82fa3e4..d4711b5 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11227,8 +11227,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 844d8da..a960343 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1628,8 +1628,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index d56df8c..875d0f1 100644
+--- a/gcc/mkconfig.sh
++++ b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+     if [ $# -ge 1 ]; then
+ 	echo '#ifdef IN_GCC' >> ${output}T
+ 	for file in "$@"; do
+-	    if test x"$file" = x"defaults.h"; then
++	    if test x"$file" = x"./defaults.h"; then
+ 		postpone_defaults_h="yes"
+ 	    else
+ 		echo "# include \"$file\"" >> ${output}T
+@@ -103,7 +103,7 @@ esac
+ 
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+-    echo "# include \"defaults.h\"" >> ${output}T
++    echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+ 
+ # Add multiple inclusion protection guard, part two.
+-- 
+1.7.1
+
-- 
1.7.1




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4 V4] bitbake: share source directory
  2011-06-28  9:05 ` [PATCH 1/4 V4] bitbake: share source directory Robert Yang
@ 2011-06-28 11:19   ` Richard Purdie
  0 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2011-06-28 11:19 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Tue, 2011-06-28 at 17:05 +0800, Robert Yang wrote:
> This patch is derived from Richard, it is a quick proof of concept to
> show how source code could be shared between recipes which use ${B} to
> have a separate build directory compared to source directory ${S}.
> 
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>  bitbake/lib/bb/build.py    |    4 ++--
>  bitbake/lib/bb/cache.py    |    3 +++
>  bitbake/lib/bb/runqueue.py |   10 ++++++++++
>  3 files changed, 15 insertions(+), 2 deletions(-)

Since this is a bitbake patch it should really have gone to the
bitbake-devel list. Its been posted around enough times for review
though so I've merged it into bitbake. I did massively reword the commit
message though to reflect what the changes mean from a bitbake
perspective.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/4 V4] Share gcc work directories
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
                   ` (3 preceding siblings ...)
  2011-06-28  9:05 ` [PATCH 4/4 V4] gcc-4.6: " Robert Yang
@ 2011-06-28 14:53 ` Richard Purdie
  2011-06-30 23:26 ` Saul Wold
  5 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2011-06-28 14:53 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Hi Robert,

I just wanted to let you know that these look good, thanks.

I need to get the changes into bitbake for this first (along with the
umask and multilib changes), let that version sit for a vew days, them
bump the version requirement of OE-Core so we can then merge these
patches.

They will therefore merge and I'm happy with them but it will be a few
more days before that happens. The bitbake piece is now merged already.

Cheers,

Richard

On Tue, 2011-06-28 at 17:05 +0800, Robert Yang wrote:
> Changes of V4:
> 
> * Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.
> 
>   e.g., the entries in the files that look like:
>   #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
> 
>   become
> 
>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> 
>   and we define SYSTEMLIBS_DIR in defaults.h.
> 
>   NOTE, the round brackets:
>   #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
> 
>   doesn't work in in the following define:
> 
>   #define LINUX_DYNAMIC_LINKER \
>           CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
> 
>   so use:
>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> 
> * Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
>   gcc-cross-canadian which are not needed any more.
> 
> * Fix the conflicts(gcc-4.6.0 -> gcc-4.6, and the ${BRANCH})
> 
> * Both tested 4.5.1 and 4.6:
>   $ bitbake meta-toolchain core-image-sato
>   $ runqemu qemurm
> 
>   Also unpack the sdk to /opt and test to make sure the toolchain works well.
> 
> 
> The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:
> 
>   runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)
> 
> are available in the git repository at:
>   git://git.pokylinux.org/poky-contrib robert/share_gcc
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc
> 
> Robert Yang (4):
>   bitbake: share source directory
>   Share gcc work directories
>   gcc-4.5.1: share work directories
>   gcc-4.6: share work directories
> 
>  bitbake/lib/bb/build.py                            |    4 +-
>  bitbake/lib/bb/cache.py                            |    3 +
>  bitbake/lib/bb/runqueue.py                         |   10 +++
>  meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
>  .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
>  meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
>  .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
>  meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
>  meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
>  meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
>  meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
>  11 files changed, 218 insertions(+), 32 deletions(-)
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/4 V4] Share gcc work directories
  2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
                   ` (4 preceding siblings ...)
  2011-06-28 14:53 ` [PATCH 0/4 V4] Share gcc " Richard Purdie
@ 2011-06-30 23:26 ` Saul Wold
  2011-07-01  7:15   ` It's broken, please revert. " Koen Kooi
  5 siblings, 1 reply; 17+ messages in thread
From: Saul Wold @ 2011-06-30 23:26 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On 06/28/2011 02:05 AM, Robert Yang wrote:
> Changes of V4:
>
> * Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.
>
>    e.g., the entries in the files that look like:
>    #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
>
>    become
>
>    #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>
>    and we define SYSTEMLIBS_DIR in defaults.h.
>
>    NOTE, the round brackets:
>    #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
>
>    doesn't work in in the following define:
>
>    #define LINUX_DYNAMIC_LINKER \
>            CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
>
>    so use:
>    #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>
> * Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
>    gcc-cross-canadian which are not needed any more.
>
> * Fix the conflicts(gcc-4.6.0 ->  gcc-4.6, and the ${BRANCH})
>
> * Both tested 4.5.1 and 4.6:
>    $ bitbake meta-toolchain core-image-sato
>    $ runqemu qemurm
>
>    Also unpack the sdk to /opt and test to make sure the toolchain works well.
>
>
> The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:
>
>    runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)
>
> are available in the git repository at:
>    git://git.pokylinux.org/poky-contrib robert/share_gcc
>    http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc
>
> Robert Yang (4):
>    bitbake: share source directory
>    Share gcc work directories
>    gcc-4.5.1: share work directories
>    gcc-4.6: share work directories
>
>   bitbake/lib/bb/build.py                            |    4 +-
>   bitbake/lib/bb/cache.py                            |    3 +
>   bitbake/lib/bb/runqueue.py                         |   10 +++
>   meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
>   .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
>   meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
>   .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
>   meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
>   meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
>   meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
>   meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
>   11 files changed, 218 insertions(+), 32 deletions(-)
>   create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
>   create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Merged into OE-Core

Thanks
	Sau!



^ permalink raw reply	[flat|nested] 17+ messages in thread

* It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-06-30 23:26 ` Saul Wold
@ 2011-07-01  7:15   ` Koen Kooi
  2011-07-01  8:10     ` Richard Purdie
  2011-07-01  8:32     ` Richard Purdie
  0 siblings, 2 replies; 17+ messages in thread
From: Koen Kooi @ 2011-07-01  7:15 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 1 jul 2011, om 01:26 heeft Saul Wold het volgende geschreven:

> On 06/28/2011 02:05 AM, Robert Yang wrote:
>> Changes of V4:
>> 
>> * Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.
>> 
>>   e.g., the entries in the files that look like:
>>   #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
>> 
>>   become
>> 
>>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>> 
>>   and we define SYSTEMLIBS_DIR in defaults.h.
>> 
>>   NOTE, the round brackets:
>>   #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
>> 
>>   doesn't work in in the following define:
>> 
>>   #define LINUX_DYNAMIC_LINKER \
>>           CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
>> 
>>   so use:
>>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>> 
>> * Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
>>   gcc-cross-canadian which are not needed any more.
>> 
>> * Fix the conflicts(gcc-4.6.0 ->  gcc-4.6, and the ${BRANCH})
>> 
>> * Both tested 4.5.1 and 4.6:
>>   $ bitbake meta-toolchain core-image-sato
>>   $ runqemu qemurm
>> 
>>   Also unpack the sdk to /opt and test to make sure the toolchain works well.
>> 
>> 
>> The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:
>> 
>>   runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)
>> 
>> are available in the git repository at:
>>   git://git.pokylinux.org/poky-contrib robert/share_gcc
>>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc
>> 
>> Robert Yang (4):
>>   bitbake: share source directory
>>   Share gcc work directories
>>   gcc-4.5.1: share work directories
>>   gcc-4.6: share work directories
>> 
>>  bitbake/lib/bb/build.py                            |    4 +-
>>  bitbake/lib/bb/cache.py                            |    3 +
>>  bitbake/lib/bb/runqueue.py                         |   10 +++
>>  meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
>>  .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
>>  meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
>>  .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
>>  meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
>>  meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
>>  meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
>>  meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
>>  11 files changed, 218 insertions(+), 32 deletions(-)
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
>> 
>> 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>> 
> 
> Merged into OE-Core

incremental build with rm_work turned on:

ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
Log data follows:
| + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
| + do_configure
| + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
| sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
| ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'

Can this patchset get reverted please and reapplied when it actually has been tested to work?




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01  7:15   ` It's broken, please revert. " Koen Kooi
@ 2011-07-01  8:10     ` Richard Purdie
  2011-07-01  9:08       ` Koen Kooi
  2011-07-01  8:32     ` Richard Purdie
  1 sibling, 1 reply; 17+ messages in thread
From: Richard Purdie @ 2011-07-01  8:10 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
> Op 1 jul 2011, om 01:26 heeft Saul Wold het volgende geschreven:
> 
> > On 06/28/2011 02:05 AM, Robert Yang wrote:
> >> Changes of V4:
> >> 
> >> * Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.
> >> 
> >>   e.g., the entries in the files that look like:
> >>   #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
> >> 
> >>   become
> >> 
> >>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> >> 
> >>   and we define SYSTEMLIBS_DIR in defaults.h.
> >> 
> >>   NOTE, the round brackets:
> >>   #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
> >> 
> >>   doesn't work in in the following define:
> >> 
> >>   #define LINUX_DYNAMIC_LINKER \
> >>           CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
> >> 
> >>   so use:
> >>   #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> >> 
> >> * Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
> >>   gcc-cross-canadian which are not needed any more.
> >> 
> >> * Fix the conflicts(gcc-4.6.0 ->  gcc-4.6, and the ${BRANCH})
> >> 
> >> * Both tested 4.5.1 and 4.6:
> >>   $ bitbake meta-toolchain core-image-sato
> >>   $ runqemu qemurm
> >> 
> >>   Also unpack the sdk to /opt and test to make sure the toolchain works well.
> >> 
> >> 
> >> The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:
> >> 
> >>   runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)
> >> 
> >> are available in the git repository at:
> >>   git://git.pokylinux.org/poky-contrib robert/share_gcc
> >>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc
> >> 
> >> Robert Yang (4):
> >>   bitbake: share source directory
> >>   Share gcc work directories
> >>   gcc-4.5.1: share work directories
> >>   gcc-4.6: share work directories
> >> 
> >>  bitbake/lib/bb/build.py                            |    4 +-
> >>  bitbake/lib/bb/cache.py                            |    3 +
> >>  bitbake/lib/bb/runqueue.py                         |   10 +++
> >>  meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
> >>  .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
> >>  meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
> >>  .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
> >>  meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
> >>  meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
> >>  meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
> >>  meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
> >>  11 files changed, 218 insertions(+), 32 deletions(-)
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
> >> 
> >> 
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >> 
> > 
> > Merged into OE-Core
> 
> incremental build with rm_work turned on:
> 
> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
> Log data follows:
> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
> | + do_configure
> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
> 
> Can this patchset get reverted please and reapplied when it actually has been tested to work?

Testing patches is not the sole responsibility of myself and Saul. This
gcc patchset was on the mailing list for a considerable time and has
been tested in a variety of ways. Various breakage was identified found
and those breakages were fixed. The fact there looks to be some
incremental build issue with rm_work is unfortunate and likely easy to
fix so I think this request is a little out of proportion.

If someone had reported the problem before it merged it would have
waited until it was fixed before merging.

I find it ironic you're one of the people asking to turn the autobuilder
red, make warnings fatal and break things for everyone as 'its the only
way to get people to look at and fix them; but on the other hand you're
unhappy if testing of patches doesn't happen on every single combination
of usages and something does break :/.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01  7:15   ` It's broken, please revert. " Koen Kooi
  2011-07-01  8:10     ` Richard Purdie
@ 2011-07-01  8:32     ` Richard Purdie
  2011-07-01 11:00       ` Koen Kooi
  1 sibling, 1 reply; 17+ messages in thread
From: Richard Purdie @ 2011-07-01  8:32 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
> incremental build with rm_work turned on:
> 
> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
> Log data follows:
> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
> | + do_configure
> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
> 
> Can this patchset get reverted please and reapplied when it actually has been tested to work?

I checked and everything is fine with rm_work.

Looking at this error, something is changing ${S} as there is no mention
of work-shared in the sed command yet there should be.

At a guess this is coming from:

http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/gcc/gcc-4.5.inc

where it says:

S = "${WORKDIR}/${BRANCH}"

and if that is changed to

S_append = "/${BRANCH}"

or removed it will likely work better.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01  8:10     ` Richard Purdie
@ 2011-07-01  9:08       ` Koen Kooi
  2011-07-01 11:28         ` Richard Purdie
  0 siblings, 1 reply; 17+ messages in thread
From: Koen Kooi @ 2011-07-01  9:08 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 1 jul 2011, om 10:10 heeft Richard Purdie het volgende geschreven:

> On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
>> Op 1 jul 2011, om 01:26 heeft Saul Wold het volgende geschreven:
>> 
>>> On 06/28/2011 02:05 AM, Robert Yang wrote:
>>>> Changes of V4:
>>>> 
>>>> * Change the definition of GLIBC_DYNAMIC_LINKER as Richard suggested.
>>>> 
>>>>  e.g., the entries in the files that look like:
>>>>  #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
>>>> 
>>>>  become
>>>> 
>>>>  #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>>>> 
>>>>  and we define SYSTEMLIBS_DIR in defaults.h.
>>>> 
>>>>  NOTE, the round brackets:
>>>>  #define GLIBC_DYNAMIC_LINKER64 (SYSTEMLIBS_DIR "/ld-linux-x86-64.so.2")
>>>> 
>>>>  doesn't work in in the following define:
>>>> 
>>>>  #define LINUX_DYNAMIC_LINKER \
>>>>          CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
>>>> 
>>>>  so use:
>>>>  #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
>>>> 
>>>> * Compare to V3, reduce two patches which are for gcc-crosssdk.inc and
>>>>  gcc-cross-canadian which are not needed any more.
>>>> 
>>>> * Fix the conflicts(gcc-4.6.0 ->  gcc-4.6, and the ${BRANCH})
>>>> 
>>>> * Both tested 4.5.1 and 4.6:
>>>>  $ bitbake meta-toolchain core-image-sato
>>>>  $ runqemu qemurm
>>>> 
>>>>  Also unpack the sdk to /opt and test to make sure the toolchain works well.
>>>> 
>>>> 
>>>> The following changes since commit a1f79a7896b6411669b3ccada6204d2695e80fc5:
>>>> 
>>>>  runqueue.py: Add umask task control (2011-06-24 12:23:12 +0100)
>>>> 
>>>> are available in the git repository at:
>>>>  git://git.pokylinux.org/poky-contrib robert/share_gcc
>>>>  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/share_gcc
>>>> 
>>>> Robert Yang (4):
>>>>  bitbake: share source directory
>>>>  Share gcc work directories
>>>>  gcc-4.5.1: share work directories
>>>>  gcc-4.6: share work directories
>>>> 
>>>> bitbake/lib/bb/build.py                            |    4 +-
>>>> bitbake/lib/bb/cache.py                            |    3 +
>>>> bitbake/lib/bb/runqueue.py                         |   10 +++
>>>> meta/recipes-devtools/gcc/gcc-4.5.1.inc            |    1 +
>>>> .../gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch   |   57 ++++++++++++++
>>>> meta/recipes-devtools/gcc/gcc-4.6.inc              |    5 +-
>>>> .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch |   80 ++++++++++++++++++++
>>>> meta/recipes-devtools/gcc/gcc-common.inc           |   32 +++++++-
>>>> meta/recipes-devtools/gcc/gcc-configure-common.inc |   48 +++++++-----
>>>> meta/recipes-devtools/gcc/gcc-configure-cross.inc  |    4 +-
>>>> meta/recipes-devtools/gcc/gcc-crosssdk.inc         |    6 --
>>>> 11 files changed, 218 insertions(+), 32 deletions(-)
>>>> create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.1/use-defaults.h-and-t-oe-in-B.patch
>>>> create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>> 
>>> 
>>> Merged into OE-Core
>> 
>> incremental build with rm_work turned on:
>> 
>> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
>> Log data follows:
>> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
>> | + do_configure
>> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
>> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
>> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
>> 
>> Can this patchset get reverted please and reapplied when it actually has been tested to work?
> 
> Testing patches is not the sole responsibility of myself and Saul. This
> gcc patchset was on the mailing list for a considerable time and has
> been tested in a variety of ways. Various breakage was identified found
> and those breakages were fixed. The fact there looks to be some
> incremental build issue with rm_work is unfortunate and likely easy to
> fix so I think this request is a little out of proportion.
> 
> If someone had reported the problem before it merged it would have
> waited until it was fixed before merging.

"They will therefore merge and I'm happy with them but it will be a few
more days before that happens. "

I was under the impression that I still had a few more days to test them now that the eglibc problems have been solved. I don't think you can blame people for not testing gcc when eglibc was still blowing up in their faces.

> I find it ironic you're one of the people asking to turn the autobuilder
> red, make warnings fatal and break things for everyone as 'its the only
> way to get people to look at and fix them; but on the other hand you're
> unhappy if testing of patches doesn't happen on every single combination
> of usages and something does break :/.

I was actually planning to test them today, now that eglibc works again.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01  8:32     ` Richard Purdie
@ 2011-07-01 11:00       ` Koen Kooi
  2011-07-01 13:57         ` Khem Raj
  0 siblings, 1 reply; 17+ messages in thread
From: Koen Kooi @ 2011-07-01 11:00 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 1 jul 2011, om 10:32 heeft Richard Purdie het volgende geschreven:

> On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
>> incremental build with rm_work turned on:
>> 
>> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
>> Log data follows:
>> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
>> | + do_configure
>> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
>> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
>> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
>> 
>> Can this patchset get reverted please and reapplied when it actually has been tested to work?
> 
> I checked and everything is fine with rm_work.
> 
> Looking at this error, something is changing ${S} as there is no mention
> of work-shared in the sed command yet there should be.
> 
> At a guess this is coming from:
> 
> http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/gcc/gcc-4.5.inc
> 
> where it says:
> 
> S = "${WORKDIR}/${BRANCH}"
> 
> and if that is changed to
> 
> S_append = "/${BRANCH}"
> 
> or removed it will likely work better.

It was indeed a bug in meta-oe and the following fixed it:

https://github.com/koenkooi/meta-oe/commit/8a917caaa5506fa0f875202243658a1c2fe60c40


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01  9:08       ` Koen Kooi
@ 2011-07-01 11:28         ` Richard Purdie
  0 siblings, 0 replies; 17+ messages in thread
From: Richard Purdie @ 2011-07-01 11:28 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2011-07-01 at 11:08 +0200, Koen Kooi wrote:
> Op 1 jul 2011, om 10:10 heeft Richard Purdie het volgende geschreven:
> 
> > On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
> >> Op 1 jul 2011, om 01:26 heeft Saul Wold het volgende geschreven:
> > Testing patches is not the sole responsibility of myself and Saul. This
> > gcc patchset was on the mailing list for a considerable time and has
> > been tested in a variety of ways. Various breakage was identified found
> > and those breakages were fixed. The fact there looks to be some
> > incremental build issue with rm_work is unfortunate and likely easy to
> > fix so I think this request is a little out of proportion.
> > 
> > If someone had reported the problem before it merged it would have
> > waited until it was fixed before merging.
> 
> "They will therefore merge and I'm happy with them but it will be a few
> more days before that happens. "
> 
> I was under the impression that I still had a few more days to test
> them now that the eglibc problems have been solved. I don't think you
> can blame people for not testing gcc when eglibc was still blowing up
> in their faces.

I balanced a few different factors in the timing. Merging code like this
on a Friday with 4th July and the US going on holiday next week didn't
seem like a better time to do this so I went for something slightly
earlier. I was working on the assumption we had the eglibc issues
resolved.

> > I find it ironic you're one of the people asking to turn the autobuilder
> > red, make warnings fatal and break things for everyone as 'its the only
> > way to get people to look at and fix them; but on the other hand you're
> > unhappy if testing of patches doesn't happen on every single combination
> > of usages and something does break :/.
> 
> I was actually planning to test them today, now that eglibc works again.

Ok, sorry I wasn't aware of that.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01 11:00       ` Koen Kooi
@ 2011-07-01 13:57         ` Khem Raj
  2011-07-01 14:01           ` Koen Kooi
  0 siblings, 1 reply; 17+ messages in thread
From: Khem Raj @ 2011-07-01 13:57 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer
  Cc: Patches and discussions about the oe-core layer



On Jul 1, 2011, at 4:00 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:

> 
> Op 1 jul 2011, om 10:32 heeft Richard Purdie het volgende geschreven:
> 
>> On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
>>> incremental build with rm_work turned on:
>>> 
>>> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
>>> Log data follows:
>>> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
>>> | + do_configure
>>> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>>> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
>>> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
>>> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
>>> 
>>> Can this patchset get reverted please and reapplied when it actually has been tested to work?
>> 
>> I checked and everything is fine with rm_work.
>> 
>> Looking at this error, something is changing ${S} as there is no mention
>> of work-shared in the sed command yet there should be.
>> 
>> At a guess this is coming from:
>> 
>> http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/gcc/gcc-4.5.inc
>> 
>> where it says:
>> 
>> S = "${WORKDIR}/${BRANCH}"
>> 
>> and if that is changed to
>> 
>> S_append = "/${BRANCH}"
>> 
>> or removed it will likely work better.
> 
> It was indeed a bug in meta-oe and the following fixed it:
> 
> https://github.com/koenkooi/meta-oe/commit/8a917caaa5506fa0f875202243658a1c2fe60c40

Additionally you would need to port the patch which mucks makefile fragment I think
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01 13:57         ` Khem Raj
@ 2011-07-01 14:01           ` Koen Kooi
  2011-07-01 16:55             ` Khem Raj
  0 siblings, 1 reply; 17+ messages in thread
From: Koen Kooi @ 2011-07-01 14:01 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 1 jul 2011, om 15:57 heeft Khem Raj het volgende geschreven:

> 
> 
> On Jul 1, 2011, at 4:00 AM, Koen Kooi <koen@dominion.thruhere.net> wrote:
> 
>> 
>> Op 1 jul 2011, om 10:32 heeft Richard Purdie het volgende geschreven:
>> 
>>> On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
>>>> incremental build with rm_work turned on:
>>>> 
>>>> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>>> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
>>>> Log data follows:
>>>> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
>>>> | + do_configure
>>>> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>>>> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
>>>> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>>> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
>>>> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
>>>> 
>>>> Can this patchset get reverted please and reapplied when it actually has been tested to work?
>>> 
>>> I checked and everything is fine with rm_work.
>>> 
>>> Looking at this error, something is changing ${S} as there is no mention
>>> of work-shared in the sed command yet there should be.
>>> 
>>> At a guess this is coming from:
>>> 
>>> http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/gcc/gcc-4.5.inc
>>> 
>>> where it says:
>>> 
>>> S = "${WORKDIR}/${BRANCH}"
>>> 
>>> and if that is changed to
>>> 
>>> S_append = "/${BRANCH}"
>>> 
>>> or removed it will likely work better.
>> 
>> It was indeed a bug in meta-oe and the following fixed it:
>> 
>> https://github.com/koenkooi/meta-oe/commit/8a917caaa5506fa0f875202243658a1c2fe60c40
> 
> Additionally you would need to port the patch which mucks makefile fragment I think

Any volunteers for that? My incremental build seems to work now, haven't tried a from scratch yet.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: It's broken, please revert. Re: [PATCH 0/4 V4] Share gcc work directories
  2011-07-01 14:01           ` Koen Kooi
@ 2011-07-01 16:55             ` Khem Raj
  0 siblings, 0 replies; 17+ messages in thread
From: Khem Raj @ 2011-07-01 16:55 UTC (permalink / raw)
  To: openembedded-core

On 07/01/2011 07:01 AM, Koen Kooi wrote:
>
> Op 1 jul 2011, om 15:57 heeft Khem Raj het volgende geschreven:
>
>>
>>
>> On Jul 1, 2011, at 4:00 AM, Koen Kooi<koen@dominion.thruhere.net>  wrote:
>>
>>>
>>> Op 1 jul 2011, om 10:32 heeft Richard Purdie het volgende geschreven:
>>>
>>>> On Fri, 2011-07-01 at 09:15 +0200, Koen Kooi wrote:
>>>>> incremental build with rm_work turned on:
>>>>>
>>>>> ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>>>> ERROR: Logfile of failure stored in: /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092
>>>>> Log data follows:
>>>>> | + cd /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4.5/build.x86_64-linux.arm-angstrom-linux-gnueabi
>>>>> | + do_configure
>>>>> | + sed -i '/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h' -e 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>>>>> | sed: can't read /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/gcc-4_5-branch/gcc/config/*/linux*.h: No such file or directory
>>>>> | ERROR: Function 'do_configure' failed (see /OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-initial-4.5-r37.0+svnr175127/temp/log.do_configure.27092 for further information)
>>>>> NOTE: package gcc-cross-initial-4.5-r37.0+svnr175127: task do_configure: Failed
>>>>> ERROR: Task 764 (/OE/tentacle/sources/meta-openembedded/meta-oe/recipes-devtools/gcc/gcc-cross-initial_4.5.bb, do_configure) failed with exit code '1'
>>>>>
>>>>> Can this patchset get reverted please and reapplied when it actually has been tested to work?
>>>>
>>>> I checked and everything is fine with rm_work.
>>>>
>>>> Looking at this error, something is changing ${S} as there is no mention
>>>> of work-shared in the sed command yet there should be.
>>>>
>>>> At a guess this is coming from:
>>>>
>>>> http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-openembedded/tree/meta-oe/recipes-devtools/gcc/gcc-4.5.inc
>>>>
>>>> where it says:
>>>>
>>>> S = "${WORKDIR}/${BRANCH}"
>>>>
>>>> and if that is changed to
>>>>
>>>> S_append = "/${BRANCH}"
>>>>
>>>> or removed it will likely work better.
>>>
>>> It was indeed a bug in meta-oe and the following fixed it:
>>>
>>> https://github.com/koenkooi/meta-oe/commit/8a917caaa5506fa0f875202243658a1c2fe60c40
>>
>> Additionally you would need to port the patch which mucks makefile fragment I think
>
> Any volunteers for that? My incremental build seems to work now, haven't tried a from scratch yet.

I had a patch for it half of which you already have. Once it builds 
through I will post.

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-07-01 16:59 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-28  9:05 [PATCH 0/4 V4] Share gcc work directories Robert Yang
2011-06-28  9:05 ` [PATCH 1/4 V4] bitbake: share source directory Robert Yang
2011-06-28 11:19   ` Richard Purdie
2011-06-28  9:05 ` [PATCH 2/4 V4] Share gcc work directories Robert Yang
2011-06-28  9:05 ` [PATCH 3/4 V4] gcc-4.5.1: share " Robert Yang
2011-06-28  9:05 ` [PATCH 4/4 V4] gcc-4.6: " Robert Yang
2011-06-28 14:53 ` [PATCH 0/4 V4] Share gcc " Richard Purdie
2011-06-30 23:26 ` Saul Wold
2011-07-01  7:15   ` It's broken, please revert. " Koen Kooi
2011-07-01  8:10     ` Richard Purdie
2011-07-01  9:08       ` Koen Kooi
2011-07-01 11:28         ` Richard Purdie
2011-07-01  8:32     ` Richard Purdie
2011-07-01 11:00       ` Koen Kooi
2011-07-01 13:57         ` Khem Raj
2011-07-01 14:01           ` Koen Kooi
2011-07-01 16:55             ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.