SuSE Support-Datenbank
Titel: aout-Programme auf einem ELF-System entwickeln

Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
English
aout-Programme auf einem ELF-System entwickeln
Es ist unter gewissen Umständen notwendig, auch auf einem ELF-System das
ältere aout-Format zu erzeugen, z.B. wenn man Bibliotheken benutzt, die
nur im alten aout-Format vorhanden sind.
Der gcc2.7.2 compiliert per default im (neuen) ELF-Format.
Werden jetzt Libraries im (älteren) aout-Format dazugelinkt, so können
beim Linken die Referenzen nicht aufgelöst werden.
In diesem Fall müssen also alle Objektdateien im aout-Format übersetzt werden.
Dazu folgende Compilerschalter setzen:
Beim Compilieren:
-b i486-linuxaout
Beim Linken:
-mi386linux
Wenn der Linkaufruf über gcc
gemacht wird, ebenfalls
-b i486-linuxaout
angeben.
Beispiel-Makefile: Es wird die aout-Lib libsql.a dazugelinkt. prog_elf geht
schief, prog_aout funktioniert.
all: prog_aout prog_elf
prog_elf: yardtest.c Makefile
gcc -c -I/usr/lib/YARD/include yardtest.c -o yardtest.o
gcc -L/lib yardtest.o /usr/lib/YARD/lib/libsql.a \
/usr/lib/YARD/lib/libbasic.a /usr/lib/YARD/lib/sqlnetd.a -o $@
file $@
ldd $@
prog_aout: yardtest.c Makefile
gcc -b i486-linuxaout -c -I/usr/lib/YARD/include yardtest.c \
-o yardtest.o
gcc -b i486-linuxaout -L/lib yardtest.o /usr/lib/YARD/lib/libsql.a \
/usr/lib/YARD/lib/libbasic.a \
/usr/lib/YARD/lib/sqlnetd.a -o $@
file $@
ldd $@

Stichwörter: GCC, LINKEN, AOUT, ELF, LINUXAOUT, COMPILIEREN

Kategorien:
Kernel

Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
English
SDB-kfr_29, Copyright SuSE GmbH, Nuremberg, Germany
- Version: 09. Apr 1996
SuSE GmbH - Zuletzt generiert: 03. Oct 1999 22:33:19
by maddin
with sdb_gen 1.00.0