Juergen Gotteswinter wrote: > perhaps linux32 helps you out > > man linux32 > > thanks Juergen. that seems to set the environment for the program that is to be run, e.g. make, gcc, ld, etc. Not so much the environment where the target will run. roger wells > greetings > > Juergen > > Roger K. Wells wrote: > >> We develop software and are beginning a slow transition from 32 bit >> applications >> to their 64 bit equivalents. During this period it will be necessary to >> build >> programs targeted for both environments using the x86-64 machines for >> development. >> >> here is a simple/small "application", sizes.c: >> >> #include <stdio.h> >> #include <stdlib.h> >> >> int main(int argc, char **argv) >> { >> printf("Various sizes:\n"); >> printf(" short = %d\n", sizeof(short)); >> printf(" int = %d\n", sizeof(int)); >> printf(" long = %d\n", sizeof(long)); >> printf(" float = %d\n", sizeof(float)); >> printf(" double = %d\n", sizeof(double)); >> return 0; >> } >> >> if I build it using: >> >> gcc -m32 -Wall -osizes sizes.c >> >> there are no warnings or complaints and a functioning 32 bit >> program runs, giving the size of a long as 4 bytes. (Of course >> without the m32 flag the size of long is 8 bytes.) >> >> if I try to do the equivalent in two steps: >> >> gcc -c -m32 -Wall sizes.c >> gcc -osizes -Wl,-m,elf_i386 sizes.o >> >> the result is: >> /usr/bin/ld: skipping incompatible >> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.a when searching for -lgcc >> /usr/bin/ld: skipping incompatible >> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/libgcc.a when searching for -lgcc >> /usr/bin/ld: cannot find -lgcc >> collect2: ld returned 1 exit status >> >> there is some confusion in the man pages as to whether the correct 32 >> bit emulation is elf_i386 or i386linux so: >> >> gcc -osizes -Wl,-m,i386linux sizes.o >> gives result: >> /usr/bin/ld: unrecognized option '--eh-frame-hdr' >> /usr/bin/ld: use the --help option for usage information >> collect2: ld returned 1 exit status >> >> since the single line command works it seems that there must be a way to >> get the job done. >> This becomes important when there are many source files and use of a >> traditional >> makefile is involved where compiling and linking are separate steps. >> >> Thanks in advance for reading this, >> roger wells >> >> > _______________________________________________ > CentOS mailing list > CentOS@xxxxxxxxxx > http://lists.centos.org/mailman/listinfo/centos > > -- Roger Wells, P.E. SAIC 221 Third St Newport, RI 02840 401-847-4210 (voice) 401-849-1585 (fax) roger.k.wells@xxxxxxxx _______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos