# x32 ABI Sammelthread

## V10lator

Hi,

ich habe heute angefangen etwas mit der x32 ABI zu spielen. Dafür updatete ich sys-devel/binutils auf Version 2.22-r1 und kompilierte den vanilla Kernel 3.5-rc5 mit CONFIG_X86_X32=y.

Nach einem reboot mit dem frisch gebackenen Kernel downloadete und entpackte ich das stage3 Tarball und chrootete hinein:

```
# mount -o bind /dev dev

# mount -o bind /sys sys

# mount -o bind /proc proc

# chroot ./ /bin/bash

# ls

a.out  dev   lib     media  proc  sbin                              tmp

bin    etc   lib64   mnt    root  stage3-amd64-x32-20120605.tar.xz  usr

boot   home  libx32  opt    run   sys                               var

# eselect profile list

/bin/sed: kann /usr/portage/profiles/profiles.desc nicht lesen: Datei oder Verzeichnis nicht gefunden

!!! Error: Failed to get a list of valid profiles

exiting

# ls -l /etc/make.profile 

lrwxrwxrwx 1 1000 1002 55  5. Jun 07:01 /etc/make.profile -> ../../usr/portage/profiles/default/linux/amd64/10.0/x32

# uname -a

Linux test 3.5.0-rc5 #1 SMP PREEMPT Sun Jul 1 12:57:27 CEST 2012 x86_64 AMD Athlon(tm) II X3 455 Processor AuthenticAMD GNU/Linux
```

Nun frage ich mich ob es möglich sein wird ohne Neuinstallation auf ein x32 Profil zu wechseln. Noch ist glibc 2.16 nicht in portage (das stage3 Tarball benutzt glibc 2.15 mit einem x32 Backport) doch auch wenn es das ist so ist die Ordnerstruktur anders:

```
# ls -l / | grep lib

lrwxrwxrwx   1 root   root        5 17. Jun 02:54 lib -> lib64

drwxr-xr-x   3 root   root     8192 29. Jun 03:27 lib32

drwxr-xr-x  13 root   root     8192 26. Jun 17:24 lib64
```

```
ls -l ./ | grep lib

drwxr-xr-x   3 root   root      4096  5. Jun 19:41 lib

drwxr-xr-x   2 root   root      4096  5. Jun 19:41 lib64

drwxr-xr-x   4 root   root      4096  5. Jun 20:11 libx32
```

Was denkt ihr über x32 und welche Erfahrungen habt ihr bereits gesammelt?

----------

## Josef.95

 *V10lator wrote:*   

> Nun frage ich mich ob es möglich sein wird ohne Neuinstallation auf ein x32 Profil zu wechseln.

  Hm nein, kann ich mir nicht vorstellen. Ein wechsel vom amd64 Profi auf x32 wird alles andere als trivial sein - ich würde es gar nicht erst versuchen. Warum auch, es gibt doch ein passendes x32 stage3 welches man verwenden kann.

 *Quote:*   

> Noch ist glibc 2.16 nicht in portage (das stage3 Tarball benutzt glibc 2.15 mit einem x32 Backport)

  glibc-2.16 ist inzwischen im Tree, und im x32 Profil auch als stable markiert. (vor dem bauen sollte erst auf sandbox-2.6 aktualisiert werden (ansonsten scheitert die Installation von glibc-2.16.)

----------

## Atha

Ich bin auch daran interessiert, obwohl ich mit meiner reinen ARCH="amd64"-Konfiguration (entspricht wohl x64) voll zufrieden bin. Für die Masse der Programme ist ein ABI=x32 vielleicht dennoch sinnvoll, da 4 GB dafür sicher voll ausreichen, der Overhead mittels x32 kleiner wird und die Vorzüge von amd64[1] (mehr Register etc.) erhalten bleiben.

Einen Release Canditate[2][3] gibt es ja bereits.

Wie man das bei einem existierenden amd64-System machen soll, verstehe ich allerdings nicht. Mit chroot wohl, aber was ist damit: http://www.gossamer-threads.com/lists/gentoo/dev/258682

Interessant ist es allemal…

----------

