[AIX] 32 ou 64 bits ?
Lorsque vous travaillez sur un serveur AIX, vous pouvez-être confronté, comme sous Linux, à des problèmes d’architecture et pouvez avoir besoin de savoir si telle ou telle librairie (statique ou dynamique) est en 32 ou 64 bits.
Avant de nous lancer dans cet exercice, commençons par vérifier l’architecture de l’os en utilisant la commande :
|
1 |
getconf -a |grep BITMODE |
|
1 2 3 |
HARDWARE_BITMODE: 64 KERNEL_BITMODE: 64 |
|
1 |
file libodbc.so.1 |
|
1 2 |
libodbc.so.1: 64-bit XCOFF executable or object module not stripped |
|
1 |
objdump -x libodbc.so.1 | head |
|
1 |
objdump -fph libodbc.so.1 |
|
1 2 3 4 5 |
libodbc.so.1: file format <strong>aix5coff64-rs6000</strong> libodbc.so.1 architecture: <strong>powerpc:620</strong>, flags 0x00000177: |
|
1 |
objdump -a libodbc.a |
|
1 2 3 4 5 6 |
In archive libodbc.a: libodbc.so.1: file format aix5coff64-rs6000 rwxr-xr-x 2429/100 678030 Apr 15 00:25 2004 libodbc.so.1 |
|
1 |
ar -Xany -x libodbc.a |
|
1 2 3 4 5 6 7 8 |
-rwxr-xr-x 1 user staff 173587 Apr 15 2004 libodbcinst.a -rwxr-xr-x 1 user staff 692699 Apr 15 2004 libodbc.a -rwxr-xr-x 1 user staff 76933 Apr 15 2004 libodbccr.a -rwxr--r-- 1 user staff 955 Sep 13 2004 README.AIX -rw-r--r-- 1 user staff 25275 Sep 13 2004 LICENSE -rw-r--r-- 1 user staff 983040 Jul 24 2013 unixodbc228_r64.tar <strong>-rwxr-xr-x 1 user staff 678030 Sep 1 20:36 libodbc.so.1 </strong> |
|
1 |
ar -X64 -t libodbc.a |
|
1 2 3 |
ar -X64 -t libodbc.a libodbc.so.1 |
- libodbc.a contient un fichier libodbc.so.1 64 bits.
|
1 |
ar -X32 -t libodbc.a |
|
1 |
ar -X32 -t libodbc.a |
- libodbc.a ne contient aucun fichier 32 bits.
| File Format | Architecture | Flags | OS |
|---|---|---|---|
| aixcoff-rs6000 | rs6000:6000 | 0x00000177 | AIX - 32-bit PowerExchange |
| aix5coff64-rs6000 | powerpc:620 | 0x00000177 | AIX - 64-bit PowerExchange |
| elf32-i386 | i386 | 0x00000150 | Linux - 32-bit |
| elf64-x86-64 | i386:x86-64 | 0x00000150 | Linux - 64-bit |









