Skip to Content.
Sympa Menu

sm-sorcery-bugs - [SM-Sorcery-Bugs] [Bug 7472] New: bi-arch support

sm-sorcery-bugs AT lists.ibiblio.org

Subject: Bugs for Sorcery are reported here

List archive

Chronological Thread  
  • From: bugzilla-daemon AT metalab.unc.edu
  • To: sm-sorcery-bugs AT lists.ibiblio.org
  • Subject: [SM-Sorcery-Bugs] [Bug 7472] New: bi-arch support
  • Date: Fri, 8 Oct 2004 18:14:18 -0400

http://bugs.sourcemage.org/show_bug.cgi?id=7472

Summary: bi-arch support
Product: Sorcery
Version: Untargetted future release
Platform: All
URL: http://benoit.papillault.free.fr/sourcemage/
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: Feature Request
AssignedTo: sm-sorcery-bugs AT lists.ibiblio.org
ReportedBy: eric AT sandall.us
CC: benoit.papillault AT sourcemage.org,grimoire AT sourcemage.org
,iso AT sourcemage.org


I'm making a bug to consolidate our bi-arch (32-bit and 64-bit) support
started
by Benoit and Laurent (URL linked in bug report). They worked on the AMD64 and
I'll be working on a SPARC64 (which is currently stalled due to lack of 32-bit
and 64-bit separation).

Preferrably all patches should be attached here and all work commented here.

For generalization the bi-arch support is setup as follows (currently):
* Native[0] libs are installed to /lib and /usr/lib
* Non-native libs are installed to /lib32 and /usr/lib32
* ld-linux.so has a different name depending on the architecture so Sorcery
should ignore it completely (instead of listing all ld-linux possibilities in
/var/lib/sorcery/excluded we'll have /var/lib/sorcery/lib{sorcery,dispel}
filter
it out explicitly).
* archspecs for 64-bit architectures need to specify the following new
variables:
# LIB= is the directory where native libraries will be installed. In other
distros, this is usually /lib64, but here, we have choosen /lib to simplify
portage.
# SUBARCH= is the name of the sub architecture. Like the name of the
architecture, it is the name of a file. Here, x86_32.
# SUBLIB= is the directory where libraries of the sub-architecture will be
installed. In other distros, this is usually /lib, but here, we have choosen
/lib32. It must be a different directory than LIB= of course.
# BI_ARCH= specifies whether this architecture supports a SUBARCH with
SUBLIBS.
* DETAILS for bi-arch spells (e.g. glibc and gcc) need to have
BI_ARCH_SPELL=yes
added.
* Sorcery needs to run a compile and install for LIB and SUBLIB if
BI_ARCH_SPELL=yes, specifying which *LIB is being used via --libdir.
* default_build needs the following flags added: --host=${HOST},
--build=${BUILD}, --libdir=${INSTALL_ROOT}/usr/${LIB} (where ${LIB} is the
current LIB or SUBLIB being compiled).

e.g. (from Benoit's site:
http://benoit.papillault.free.fr/sourcemage/sorcery.php):

* /var/lib/sorcery/archspecs/amd64/x86_64
CPUNAME="AMD Athlon 64, Athlon 64 FX and Opteron"
# -m64 is not needed since it is the default. However, since gcc spell
# adds a -m32, this was causing problems.
CFLAGS="-march=athlon-xp -mmmx -mfpmath=sse -msse -msse2 -m3dnow"
HOST="x86_64-unknown-linux-gnu"
FAST="-O2"
SMALL="-Os"
BI_ARCH="yes"
LIB="/lib"
SUBARCH="x86_32"
SUBLIB="/lib32"


* /var/lib/sorcery/archspecs/amd64/x86_32
CPUNAME="AMD Athlon 64, Athlon 64 FX and Opteron"
CFLAGS="-march=athlon-xp -mmmx -mfpmath=sse -msse -msse2 -m3dnow -m32"
HOST="i686-pc-linux-gnu"
FAST="-O3"
SMALL="-Os"

Please correct me (I generalized the above from Benoit's site and may have
misconstrued what he intended) and give feedback so that we do this properly.

[0] "Native" is defined as being the architectures setup. So PPC64, AMD64,
SPARC64, etc. will install their 64-bit libraries to /lib and /usr/lib and
their
32-bit compatibility libraries to /lib32 and /usr/lib32.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



  • [SM-Sorcery-Bugs] [Bug 7472] New: bi-arch support, bugzilla-daemon, 10/08/2004

Archive powered by MHonArc 2.6.24.

Top of Page