Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 29952 - On amd64 enable multilib for gcc 3.3.1-r3 allowing gcc to build 32bit and 64bit binaries
Summary: On amd64 enable multilib for gcc 3.3.1-r3 allowing gcc to build 32bit and 64b...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on: 29857 29950 29951
Blocks:
  Show dependency tree
 
Reported: 2003-09-29 14:07 UTC by Brad House
Modified: 2003-10-18 12:44 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
put patch in files/ directory. multilib patch. (amd64_gcc331_use_multilib-amd64.patch,352 bytes, patch)
2003-09-29 14:09 UTC, Brad House
Details | Diff
patch for gcc-3.3.1-r3 ebuild (gcc-3.3.1-r3.ebuild.amd64.patch,2.78 KB, patch)
2003-09-29 14:09 UTC, Brad House
Details | Diff
gcc-3.3.1-r3.ebuild patch make use of 'multilib' use flag. Only builds multilib if in use flags. (gcc-3.3.1-r3.ebuild.amd64.patch,3.77 KB, patch)
2003-09-29 17:55 UTC, Brad House
Details | Diff
gcc multilib path patch. put in files/ (amd64_gcc331_use_multilib-amd64.patch,346 bytes, patch)
2003-10-01 11:02 UTC, Brad House
Details | Diff
gcc 3.3.1-r3 ebuild patch (gcc-3.3.1-r3.ebuild.amd64.patch,4.34 KB, patch)
2003-10-01 11:04 UTC, Brad House
Details | Diff
gcc multilib patch. put in gcc files/ directory (amd64_gcc331_use_multilib-amd64.patch,346 bytes, patch)
2003-10-01 14:24 UTC, Brad House
Details | Diff
gcc multilib patch. put in gcc files/ directory (amd64_gcc331_use_multilib-amd64.patch,352 bytes, patch)
2003-10-01 14:25 UTC, Brad House
Details | Diff
gcc 3.3.1-r3 ebuild patch (gcc-3.3.1-r3.ebuild.amd64.patch,4.36 KB, patch)
2003-10-01 14:27 UTC, Brad House
Details | Diff
gcc 3.3.1-r3 ebuild patch (gcc-3.3.1-r3.ebuild.amd64.patch,4.38 KB, patch)
2003-10-16 07:59 UTC, Brad House
Details | Diff
Failed Patch: 02_all_gcc33-ice-hack.patch.bz2! (02_all_gcc33-ice-hack.patch.bz2-3696.out,6.62 KB, text/plain)
2003-10-17 01:49 UTC, jay chin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Brad House 2003-09-29 14:07:55 UTC
Patches to gcc to allow multilib support so both 32bit and 64bit binaries can be compiled on the same system, with the same compiler.
Requires:
  * gcc-config patch
  * binutils patch
  * emul-i686 ebuild
Comment 1 Brad House 2003-09-29 14:09:01 UTC
Created attachment 18503 [details, diff]
put patch in files/ directory. multilib patch.
Comment 2 Brad House 2003-09-29 14:09:24 UTC
Created attachment 18504 [details, diff]
patch for gcc-3.3.1-r3 ebuild
Comment 3 Brad House 2003-09-29 17:55:06 UTC
Created attachment 18514 [details, diff]
gcc-3.3.1-r3.ebuild patch  make use of 'multilib' use flag.  Only builds multilib if in use flags.

Checks for both ARCH=amd64 and `use multilib`.
If both of those are true, it will build gcc with multilib support.
It also adds a hard dependancy on sys-libs/emul-i686 so you need that
installed to compile multilib support.
By default, it does not build multilib.

I request that this patch be added to CVS, along with the other
dependancies.  None of the changes have an adverse affect on anything
else, and just add a more robust feature-set to gentoo on amd64.
Comment 4 Brian Jackson (RETIRED) gentoo-dev 2003-09-30 10:36:05 UTC
I think the idea was to have 32bit stuff in a chroot, so this needs some
discussion from the involved parties
Comment 5 Brad House 2003-09-30 10:39:05 UTC
There's a discussion on it in Bug #29857 ...
Restricting everything to a chroot environment is extremely limiting.
You're talking about having a completely different version of GCC, and
all command line utils, etc.  Very, very wasteful, when this solution
can utilize the current system (while still maintaining the ability
to chroot if you desire). Basically, it adds no overhead.
Besides that, it's OPTIONAL ... enable USE 'multilib' or not, it's the call
of whoever is building that particular system.
Comment 6 Jon Portnoy (RETIRED) gentoo-dev 2003-09-30 10:45:04 UTC
I agree that we should have support for it for users who do want it. Personally,
I don't do anything requiring 32-bit binaries, but I can see where a significant
number of people would desire it. An off-by-default USE flag doesn't harm
anything.
Comment 7 Brad House 2003-10-01 11:02:11 UTC
Created attachment 18571 [details, diff]
gcc multilib path patch. put in  files/

relocate some paths
Comment 8 Brad House 2003-10-01 11:04:30 UTC
Created attachment 18572 [details, diff]
gcc 3.3.1-r3 ebuild patch

Last gcc patch borked C++ 64bit compiles.  This fixes that.  32bit C++ compiles
are borked for the moment, yet C compiles in 64bit and 32bit work fine. 
Got to
dig into the depths of GCC hell this weekend to figure out why 32bit C++
paths
passed to the linker are borked.  Will get it to work sanely though...
Comment 9 Brad House 2003-10-01 14:24:35 UTC
Created attachment 18576 [details, diff]
gcc multilib patch.  put in gcc  files/ directory
Comment 10 Brad House 2003-10-01 14:25:51 UTC
Created attachment 18577 [details, diff]
gcc multilib patch. put in gcc files/ directory
Comment 11 Brad House 2003-10-01 14:27:56 UTC
Created attachment 18578 [details, diff]
gcc 3.3.1-r3 ebuild patch

long day.
Finally realized that gcc and g++ won't honor what's in the
config for multilib, unless it's a relative path starting with ../
So it would never properly resolve crt1.o and friends for 32bit 
compiles but would for 64bit compiles.
Wish this crap was documented.	Anyhow, EVERYTHING works now,
somehow ;)
Comment 12 Brad House 2003-10-16 07:59:12 UTC
Created attachment 19319 [details, diff]
gcc 3.3.1-r3 ebuild patch

update to ebuild patch for app-emulation/emul-linux-x86-baselibs
instead of sys-libs/emul-i686
Comment 13 jay chin 2003-10-17 01:49:38 UTC
Created attachment 19347 [details]
Failed Patch: 02_all_gcc33-ice-hack.patch.bz2!

emerge failed after applying gcc-3.3.1-r3.ebuild.amd64.patch
Comment 14 Brad House 2003-10-18 12:44:17 UTC
was not able to reproduce those problems.
Updated to gcc-3.3.1-r5.ebuild and committed the changes,
as there are many successful reports in #gentoo-amd64