public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Patch for absolute minimal GCC for distcc environment
@ 2005-04-03  1:56 Andrew de Quincey
  2005-04-03  2:10 ` Andrew Gaffney
  0 siblings, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03  1:56 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 967 bytes --]


Hi, I hope this is the correct place to send this.

I have setup distcc in my network. Most of the hosts are i686, but one of them 
is x86_64. I wish to distribute tasks to the i686 machines from the x86_64 
machine. This involves installing a cross compiler on the i686 machines for 
x86_64 tasks. Crossdev is overkill for this - I don't actually _need_ glibc 
and the like on the client machines for a simple distcc environment. It 
really adds to the upgrade time when emerge sync; emerge worlding.

The attached patch makes gcc *only* generate the compilers - no libstdcc++, no 
libgcc, nothing else - this is all you need for distcc. Likewise, compiling 
gcc with this patch needs only binutils - no linux-headers, and no glibc. 

I was considering patching the gcc ebuild to add a new option - e.g. "minimal" 
to apply this patch - but I've no idea if you would be interested in this 
feature. Please let me know if you are, and I'll develop it further if so.

[-- Attachment #2: gcc-3.4.3-nolibgcc.patch --]
[-- Type: text/x-diff, Size: 4434 bytes --]

--- gcc/mklibgcc.in~	2005-04-03 01:10:15.000000000 +0100
+++ gcc/mklibgcc.in	2005-04-03 01:14:39.000000000 +0100
@@ -623,105 +623,7 @@
 done
 
 echo ""
-echo "all: $all"
+echo "all:"
 
 echo ""
-echo "install: $all"
-for ml in $MULTILIBS; do
-  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
-  flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
-  if [ $dir != . ]; then
-    ldir='$(DESTDIR)$(libsubdir)'/$dir
-    echo "	if [ -d $ldir ]; then true; else $mkinstalldirs $ldir; chmod a+rx $ldir; fi;"
-  else
-    ldir='$(DESTDIR)$(libsubdir)'
-  fi
-  echo '	$(INSTALL_DATA)' ${dir}/libgcc.a ${ldir}/
-  echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc.a
-  echo '	$(INSTALL_DATA)' ${dir}/libgcov.a ${ldir}/
-  echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcov.a
-
-  if [ "$SHLIB_LINK" ]; then
-    echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
-    echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
-
-    if [ -z "$SHLIB_MULTILIB" ]; then
-      if [ "$dir" = . ]; then
-	shlib_base_name=libgcc_s
-	shlibunwind_base_name=libunwind
-      else
-	shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g`
-	shlibunwind_base_name=libunwind_`echo $dir | sed s,/,_,g`
-      fi
-      shlib_so_name="$shlib_base_name"
-      shlibunwind_so_name="$shlibunwind_base_name"
-      shlib_dir=
-      shlib_slibdir_qual=
-      if [ -n "$MULTILIB_OSDIRNAMES" ]; then
-	gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory`
-	os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory`
-	if [ "$dir" != . ]; then
-	  shlib_dir="$dir"/
-	fi
-	gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'`
-	os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"`
-	if [ -z "$os_multilib_base" ]; then
-	  shlib_so_name=libgcc_s
-	  shlibunwind_so_name=libunwind
-	  if [ "$os_multilib_dir" != "." ]; then
-	    shlib_slibdir_qual="/$os_multilib_dir"
-	  fi
-	else
-	  shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g`
-	  shlibunwind_so_name=libunwind_`echo $gcc_multilib_sup | sed s,/,_,g`
-	  shlib_slibdir_qual="/$os_multilib_base"
-	fi
-      fi
-      echo "	$SHLIB_INSTALL" \
-	| sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
-	      -e "s%@shlib_so_name@%$shlib_so_name%g" \
-	      -e "s%@shlib_dir@%$shlib_dir%g" \
-	      -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g"
-      if [ "$LIBUNWIND" ]; then
-	echo "	$SHLIBUNWIND_INSTALL" \
-	   | sed -e "s%@shlib_base_name@%$shlibunwind_base_name%g" \
-		 -e "s%@shlib_so_name@%$shlibunwind_so_name%g" \
-		 -e "s%@shlib_dir@%$shlib_dir%g" \
-		 -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g"
-	libunwinddir='$(DESTDIR)$(slibdir)$(shlib_slibdir_qual)/$(shlib_dir)'
-	echo '	$(INSTALL_DATA)' ${dir}/libunwind.a ${libunwinddir}/
-	echo '	$(RANLIB_FOR_TARGET)' ${libunwinddir}/libunwind.a
-      fi
-    elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
-      shlib_base_name="libgcc_s";
-      echo "	$SHLIB_INSTALL" \
-	| sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
-	      -e "s%@shlib_so_name@%$shlib_base_name%g" \
-	      -e "s%@shlib_dir@%%g" \
-	      -e "s%@shlib_slibdir_qual@%%g"
-      if [ "$LIBUNWIND" ]; then
-	echo "	$SHLIBUNWIND_INSTALL" \
-	   | sed -e "s%@shlib_base_name@%$shlibunwind_base_name%g" \
-		 -e "s%@shlib_so_name@%$shlibunwind_base_name%g" \
-		 -e "s%@shlib_dir@%%g" \
-		 -e "s%@shlib_slibdir_qual@%%g"
-	libunwinddir='$(DESTDIR)$(slibdir)'
-	echo '	$(INSTALL_DATA)' ${dir}/libunwind.a ${libunwinddir}/
-	echo '	$(RANLIB_FOR_TARGET)' ${libunwinddir}/libunwind.a
-      fi
-    fi
-  fi
-done
-for f in $EXTRA_MULTILIB_PARTS; do
-  for ml in $MULTILIBS; do
-    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
-    if [ $dir != . ]; then
-      out=${dir}/$f
-      ldir='$(DESTDIR)$(libsubdir)'/$dir
-    else
-      out=$f
-      ldir='$(DESTDIR)$(libsubdir)'
-    fi
-    echo '	$(INSTALL_DATA)' $out $ldir/
-  done
-done
+echo "install:"
--- Makefile.in.old	2005-04-03 01:38:54.000000000 +0100
+++ Makefile.in	2005-04-03 01:36:57.000000000 +0100
@@ -616,7 +616,7 @@
 
 # The target built for a native build.
 .PHONY: all.normal
-all.normal: @all_build_modules@ all-host all-target
+all.normal: @all_build_modules@ all-host
 
 .PHONY: all-host
 all-host: maybe-all-gcc  \
@@ -17390,7 +17390,7 @@
 # Installation targets.
 
 .PHONY: install uninstall
-install: installdirs install-host install-target
+install: installdirs install-host
 
 .PHONY: install-host-nogcc
 install-host-nogcc:  \

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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03  1:56 [gentoo-dev] Patch for absolute minimal GCC for distcc environment Andrew de Quincey
@ 2005-04-03  2:10 ` Andrew Gaffney
  2005-04-03  2:15   ` Andrew de Quincey
  0 siblings, 1 reply; 12+ messages in thread
From: Andrew Gaffney @ 2005-04-03  2:10 UTC (permalink / raw
  To: gentoo-dev

Andrew de Quincey wrote:
> Hi, I hope this is the correct place to send this.
> 
> I have setup distcc in my network. Most of the hosts are i686, but one of them 
> is x86_64. I wish to distribute tasks to the i686 machines from the x86_64 
> machine. This involves installing a cross compiler on the i686 machines for 
> x86_64 tasks. Crossdev is overkill for this - I don't actually _need_ glibc 
> and the like on the client machines for a simple distcc environment. It 
> really adds to the upgrade time when emerge sync; emerge worlding.

crossdev -s1 -t <x86_64 CHOST>

-- 
Andrew Gaffney                            http://dev.gentoo.org/~agaffney/
Gentoo Linux Developer                                   Installer Project
--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03  2:10 ` Andrew Gaffney
@ 2005-04-03  2:15   ` Andrew de Quincey
  2005-04-03 10:35     ` Stuart Longland
  2005-04-03 10:39     ` Ioannis Aslanidis
  0 siblings, 2 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03  2:15 UTC (permalink / raw
  To: gentoo-dev; +Cc: Andrew Gaffney, gentoo-dev

On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> Andrew de Quincey wrote:
> > Hi, I hope this is the correct place to send this.
> >
> > I have setup distcc in my network. Most of the hosts are i686, but one of
> > them is x86_64. I wish to distribute tasks to the i686 machines from the
> > x86_64 machine. This involves installing a cross compiler on the i686
> > machines for x86_64 tasks. Crossdev is overkill for this - I don't
> > actually _need_ glibc and the like on the client machines for a simple
> > distcc environment. It really adds to the upgrade time when emerge sync;
> > emerge worlding.
>
> crossdev -s1 -t <x86_64 CHOST>

According to the docs, that doesn't compile a c++ compiler:

    -s1, --stage1         Build a C compiler (no libc/C++)
--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03  2:15   ` Andrew de Quincey
@ 2005-04-03 10:35     ` Stuart Longland
  2005-04-03 10:41       ` Stuart Longland
  2005-04-03 12:18       ` Andrew de Quincey
  2005-04-03 10:39     ` Ioannis Aslanidis
  1 sibling, 2 replies; 12+ messages in thread
From: Stuart Longland @ 2005-04-03 10:35 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-dev, Andrew Gaffney

[-- Attachment #1: Type: text/plain, Size: 1444 bytes --]

Andrew de Quincey wrote:
> On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> 
>>Andrew de Quincey wrote:
>>
>>>Hi, I hope this is the correct place to send this.
>>>
>>>I have setup distcc in my network. Most of the hosts are i686, but one of
>>>them is x86_64. I wish to distribute tasks to the i686 machines from the
>>>x86_64 machine. This involves installing a cross compiler on the i686
>>>machines for x86_64 tasks. Crossdev is overkill for this - I don't
>>>actually _need_ glibc and the like on the client machines for a simple
>>>distcc environment. It really adds to the upgrade time when emerge sync;
>>>emerge worlding.
>>
>>crossdev -s1 -t <x86_64 CHOST>
> 
> 
> According to the docs, that doesn't compile a c++ compiler:
> 
>     -s1, --stage1         Build a C compiler (no libc/C++)

And guess what... no libc... no c++.  If you require a C++ compiler,
then might I suggest making a µClibc-based toolchain?  µClibc is just a
little smaller than it's GNU cousin, and so shouldn't occupy much space.

-- 
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project     -oOo-    http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03  2:15   ` Andrew de Quincey
  2005-04-03 10:35     ` Stuart Longland
@ 2005-04-03 10:39     ` Ioannis Aslanidis
       [not found]       ` <200504031320.11013.adq@lidskialf.net>
  1 sibling, 1 reply; 12+ messages in thread
From: Ioannis Aslanidis @ 2005-04-03 10:39 UTC (permalink / raw
  To: gentoo-dev

You do not need to use a cross compiler. The i686-pc-linux-gnu is
included in the toolchain. What you will have to do is to correct all
the i686 machines that erroneously call gcc instead of
i686-pc-linux-gcc. You will also have to append -m32 to your CFLAGS as
a workaround to some bug. Finally you will see that there are several
packages that will not compile with distcc if you have an amd64
compiling too.



On Apr 3, 2005 4:15 AM, Andrew de Quincey <adq_dvb@lidskialf.net> wrote:
> On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > Andrew de Quincey wrote:
> > > Hi, I hope this is the correct place to send this.
> > >
> > > I have setup distcc in my network. Most of the hosts are i686, but one of
> > > them is x86_64. I wish to distribute tasks to the i686 machines from the
> > > x86_64 machine. This involves installing a cross compiler on the i686
> > > machines for x86_64 tasks. Crossdev is overkill for this - I don't
> > > actually _need_ glibc and the like on the client machines for a simple
> > > distcc environment. It really adds to the upgrade time when emerge sync;
> > > emerge worlding.
> >
> > crossdev -s1 -t <x86_64 CHOST>
> 
> According to the docs, that doesn't compile a c++ compiler:
> 
>     -s1, --stage1         Build a C compiler (no libc/C++)
> --
> gentoo-dev@gentoo.org mailing list
> 
> 


-- 
Ioannis Aslanidis
<deathwing00[at]gentoo.org> 0xB9B11F4E
<deathwing00[at]forums.gentoo.org> 0xC2539DA3
<aioannis[at]tinet.org> 0xF202D067
<dwcommander[at]users.sourceforge.net>

Hellenic Gentoo GNU/Linux project manager (http://hellenicgentoo.sf.net)
FIRECOPS++ project manager (http://firecops.sf.net)
Digger Realoaded (http://digger-reloaded.sf.net)
Gentoo Forums Global  Moderator (http://forums.gentoo.org)

Computer Engineering student at Universitat Rovira i Virgili
--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 10:35     ` Stuart Longland
@ 2005-04-03 10:41       ` Stuart Longland
  2005-04-03 13:03         ` Paul de Vrieze
  2005-04-03 12:18       ` Andrew de Quincey
  1 sibling, 1 reply; 12+ messages in thread
From: Stuart Longland @ 2005-04-03 10:41 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

Stuart Longland wrote:
> [some stuff here]

Apologies for the double post... me and my fixation on Reply-to-All.
(been posting a bit on linux-mips mailing list, 10 points to the first
person who works out they don't set Reply-To on posts. :-D)
Damn I wish this feature was configurable, per user, rather than per
list. ;-)
-- 
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project     -oOo-    http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 10:35     ` Stuart Longland
  2005-04-03 10:41       ` Stuart Longland
@ 2005-04-03 12:18       ` Andrew de Quincey
  2005-04-03 12:21         ` Andrew de Quincey
  1 sibling, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:18 UTC (permalink / raw
  To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney

[-- Attachment #1: Type: text/plain, Size: 1616 bytes --]

On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> Andrew de Quincey wrote:
> > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> >>Andrew de Quincey wrote:
> >>>Hi, I hope this is the correct place to send this.
> >>>
> >>>I have setup distcc in my network. Most of the hosts are i686, but one
> >>> of them is x86_64. I wish to distribute tasks to the i686 machines from
> >>> the x86_64 machine. This involves installing a cross compiler on the
> >>> i686 machines for x86_64 tasks. Crossdev is overkill for this - I don't
> >>> actually _need_ glibc and the like on the client machines for a simple
> >>> distcc environment. It really adds to the upgrade time when emerge
> >>> sync; emerge worlding.
> >>
> >>crossdev -s1 -t <x86_64 CHOST>
> >
> > According to the docs, that doesn't compile a c++ compiler:
> >
> >     -s1, --stage1         Build a C compiler (no libc/C++)
>
> And guess what... no libc... no c++.  If you require a C++ compiler,
> then might I suggest making a µClibc-based toolchain?  µClibc is just a
> little smaller than it's GNU cousin, and so shouldn't occupy much space.

I have it running right now with *no* libc and g++. There is no reason to need 
a libc, apart from the fact that you cannot confiure g++ to build without 
patching it. I have just distcc compiled kdlibs with this configuration. 

Have you actually tried the patch? This is precisely what it does - g++ with 
no libc.

The files installed with the patch are in the attached file. I could perhaps 
trim it more - there is no need for the include files either with distcc.

[-- Attachment #2: minigcc.txt --]
[-- Type: text/plain, Size: 4836 bytes --]

/etc
/etc/env.d
/etc/env.d/gcc
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardenednopie
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardenednossp
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110
/etc/env.d/gcc/x86_64-pc-linux-gnu-3.4.3-20050110-hardened
/lib
/usr
/usr/bin
/usr/lib
/usr/lib/gcc
/usr/lib/gcc/x86_64-pc-linux-gnu
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/32
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbeginT.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/vanilla.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/gsyslimits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/mmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/README
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/varargs.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/unwind.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/float.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/iso646.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/xmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stdarg.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stddef.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/pmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/emmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/limits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/include/stdbool.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/mkheaders.conf
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtbegin.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardened.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardenednopie.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/mmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/README
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/varargs.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/unwind.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/float.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/syslimits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/iso646.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/xmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stdarg.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stddef.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/pmmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/emmintrin.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/limits.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/include/stdbool.h
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/hardenednossp.specs
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtendS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/crtend.o
/usr/x86_64-pc-linux-gnu
/usr/x86_64-pc-linux-gnu/lib
/usr/x86_64-pc-linux-gnu/lib/x86 -> ../../i686-pc-linux-gnu/lib 1112489024
/usr/x86_64-pc-linux-gnu/gcc-bin
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcov
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-c++
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-g++
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-cpp
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcc
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gccbug
/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3-20050110/x86_64-pc-linux-gnu-gcc-3.4.3-20050110 -> x86_64-pc-linux-gnu-gcc 1112489024
/usr/share
/usr/share/gcc-data
/usr/share/gcc-data/x86_64-pc-linux-gnu
/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/libexec
/usr/libexec/gcc
/usr/libexec/gcc/x86_64-pc-linux-gnu
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/cc1
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/fixincl
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/mkheaders
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/install-tools/fixinc.sh
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/collect2
/usr/libexec/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/cc1plus


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 12:18       ` Andrew de Quincey
@ 2005-04-03 12:21         ` Andrew de Quincey
  2005-04-03 14:21           ` Andrew de Quincey
  0 siblings, 1 reply; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney

On Sunday 03 April 2005 13:18, Andrew de Quincey wrote:
> On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> > Andrew de Quincey wrote:
> > > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > >>Andrew de Quincey wrote:
> > >>>Hi, I hope this is the correct place to send this.
> > >>>
> > >>>I have setup distcc in my network. Most of the hosts are i686, but one
> > >>> of them is x86_64. I wish to distribute tasks to the i686 machines
> > >>> from the x86_64 machine. This involves installing a cross compiler on
> > >>> the i686 machines for x86_64 tasks. Crossdev is overkill for this - I
> > >>> don't actually _need_ glibc and the like on the client machines for a
> > >>> simple distcc environment. It really adds to the upgrade time when
> > >>> emerge sync; emerge worlding.
> > >>
> > >>crossdev -s1 -t <x86_64 CHOST>
> > >
> > > According to the docs, that doesn't compile a c++ compiler:
> > >
> > >     -s1, --stage1         Build a C compiler (no libc/C++)
> >
> > And guess what... no libc... no c++.  If you require a C++ compiler,
> > then might I suggest making a µClibc-based toolchain?  µClibc is just a
> > little smaller than it's GNU cousin, and so shouldn't occupy much space.
>
> I have it running right now with *no* libc and g++. There is no reason to
> need a libc, apart from the fact that you cannot confiure g++ to build
> without patching it. I have just distcc compiled kdlibs with this
> configuration.
>
> Have you actually tried the patch? This is precisely what it does - g++
> with no libc.
>
> The files installed with the patch are in the attached file. I could
> perhaps trim it more - there is no need for the include files either with
> distcc.

Oh - the only cross packages I have installed for a fully working distcc are:

cross-x86_64-pc-linux-gnu/binutils *
cross-x86_64-pc-linux-gnu/gcc *

Where gcc contains just the files I listed previously.

--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
       [not found]       ` <200504031320.11013.adq@lidskialf.net>
@ 2005-04-03 12:24         ` Andrew de Quincey
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 12:24 UTC (permalink / raw
  To: gentoo-dev; +Cc: Ioannis Aslanidis

On Sunday 03 April 2005 13:20, Andrew de Quincey wrote:
> On Sunday 03 April 2005 11:39, Ioannis Aslanidis wrote:
> > You do not need to use a cross compiler. The i686-pc-linux-gnu is
> > included in the toolchain. What you will have to do is to correct all
> > the i686 machines that erroneously call gcc instead of
> > i686-pc-linux-gcc. You will also have to append -m32 to your CFLAGS as
> > a workaround to some bug. Finally you will see that there are several
> > packages that will not compile with distcc if you have an amd64
> > compiling too.
>
> You have what I want to do the wrong way round. I know I can compile 32 bit
> stuff on a 64 bit machine as the compiler has 32 bit support.
>
> I want to compile 64 bit stuff on a 32 bit machine. And in fact, I have it
> working now.

Oh - I was also worried about the 64 bit compiler having issues as you 
mention. So I cross compiled an i686 gcc with my patch onto my amd machine as 
well.. it seems to work ok.

cross-i686-pc-linux-gnu/binutils *
cross-i686-pc-linux-gnu/gcc *
--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 10:41       ` Stuart Longland
@ 2005-04-03 13:03         ` Paul de Vrieze
  2005-04-04  0:28           ` Stuart Longland
  0 siblings, 1 reply; 12+ messages in thread
From: Paul de Vrieze @ 2005-04-03 13:03 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 585 bytes --]

On Sunday 03 April 2005 12:41, Stuart Longland wrote:
> Stuart Longland wrote:
> > [some stuff here]
>
> Apologies for the double post... me and my fixation on Reply-to-All.
> (been posting a bit on linux-mips mailing list, 10 points to the first
> person who works out they don't set Reply-To on posts. :-D)
> Damn I wish this feature was configurable, per user, rather than per
> list. ;-)

Why not use procmail+formail to add the appropriate header(s) yourself.

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: pauldv@gentoo.org
Homepage: http://www.devrieze.net

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 12:21         ` Andrew de Quincey
@ 2005-04-03 14:21           ` Andrew de Quincey
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew de Quincey @ 2005-04-03 14:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: Stuart Longland, Andrew Gaffney

On Sunday 03 April 2005 13:21, Andrew de Quincey wrote:
> On Sunday 03 April 2005 13:18, Andrew de Quincey wrote:
> > On Sunday 03 April 2005 11:35, Stuart Longland wrote:
> > > Andrew de Quincey wrote:
> > > > On Sunday 03 April 2005 03:10, Andrew Gaffney wrote:
> > > >>Andrew de Quincey wrote:
> > > >>>Hi, I hope this is the correct place to send this.
> > > >>>
> > > >>>I have setup distcc in my network. Most of the hosts are i686, but
> > > >>> one of them is x86_64. I wish to distribute tasks to the i686
> > > >>> machines from the x86_64 machine. This involves installing a cross
> > > >>> compiler on the i686 machines for x86_64 tasks. Crossdev is
> > > >>> overkill for this - I don't actually _need_ glibc and the like on
> > > >>> the client machines for a simple distcc environment. It really adds
> > > >>> to the upgrade time when emerge sync; emerge worlding.
> > > >>
> > > >>crossdev -s1 -t <x86_64 CHOST>
> > > >
> > > > According to the docs, that doesn't compile a c++ compiler:
> > > >
> > > >     -s1, --stage1         Build a C compiler (no libc/C++)
> > >
> > > And guess what... no libc... no c++.  

The dependency on libc is not in the c++ compiler. This is what led me to 
realise I could do this. The dependency on libc comes from when it builds the 
target libraries - libgcc & libstdc++ and the like.

First of all, gcc builds all the compilers - C and C++. After its done that, 
it compiles libgcc etc - and as I said earlier, this is what needs a libc for 
the target machine.

My patch simply disables the compilation/installation of the target machine's 
libraries. All you end up with are the binaries of the cross compilers; which 
is all you really want for distcc.

Have you had a chance to try it out yet? Lemme know if you like it, and I'll 
see if I can clean it up more.
--
gentoo-dev@gentoo.org mailing list


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

* Re: [gentoo-dev] Patch for absolute minimal GCC for distcc environment
  2005-04-03 13:03         ` Paul de Vrieze
@ 2005-04-04  0:28           ` Stuart Longland
  0 siblings, 0 replies; 12+ messages in thread
From: Stuart Longland @ 2005-04-04  0:28 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 825 bytes --]

Paul de Vrieze wrote:
> Why not use procmail+formail to add the appropriate header(s) yourself.
> 
> Paul
> 

Laziness on my part.  Also, I've got into the habit of clicking
Reply-to-All.  I could do something with maildrop & some perl magic, but
there's no need.

(We hit the same problem on the Humbug[1] lists when they switched to
MailMan -- previously Reply-To was set to the list, now it's left alone)

-- 
+-------------------------------------------------------------+
| Stuart Longland -oOo- http://stuartl.longlandclan.hopto.org |
| Atomic Linux Project     -oOo-    http://atomicl.berlios.de |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| I haven't lost my mind - it's backed up on a tape somewhere |
+-------------------------------------------------------------+
1. http://www.humbug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 256 bytes --]

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

end of thread, other threads:[~2005-04-04  0:29 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-03  1:56 [gentoo-dev] Patch for absolute minimal GCC for distcc environment Andrew de Quincey
2005-04-03  2:10 ` Andrew Gaffney
2005-04-03  2:15   ` Andrew de Quincey
2005-04-03 10:35     ` Stuart Longland
2005-04-03 10:41       ` Stuart Longland
2005-04-03 13:03         ` Paul de Vrieze
2005-04-04  0:28           ` Stuart Longland
2005-04-03 12:18       ` Andrew de Quincey
2005-04-03 12:21         ` Andrew de Quincey
2005-04-03 14:21           ` Andrew de Quincey
2005-04-03 10:39     ` Ioannis Aslanidis
     [not found]       ` <200504031320.11013.adq@lidskialf.net>
2005-04-03 12:24         ` Andrew de Quincey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox