Peter,

> Sorry, I finally caught on, I build with xlc, not gcc on AIX. Which at
> least explains why I've never hit this on AIX.
> 
> I do however build with gcc on PPC Linux on SLES-8  which uses gcc
> 3.(something). So yes, an "as" bug seems most likely since this doesn't
> cause problems on Linux.
> 
> All I can suggest is that you get the sources for the as that came with
> SLES-8 (www.suse.de will have those) and try to build it on AIX.

Well, question then is if GNU assembler has full and working support for
AIX 64-bit XCOFF executable format? Is it command line compatible with
AIX as, so that it can act as drop-in replacement? I'm not maintaining
that I know answer to these questions (I do not!), I'm only saying that
if you want to back-up this suggestion, then you should be prepared to
follow up such questions ;-)

Urjit,

> This hangs in the following command.
> ========
> making all in crypto/bn...
> make[3]: Entering directory
> `/osd4/netezza/nz/urjit/openssl-0.9.8-stable-SNAP-20071004/crypto/bn'
> gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE
> -DDSO_DLFC
> N -DHAVE_DLFCN_H -maix64 -O -DB_ENDIAN -c  -o aix_ppc64.o aix_ppc64.s
> ========
> 
> Then I ran the above command with -v, to check what gcc is actually doing:
> ========
> $ cd crypto/bn
> $
> gcc -v -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE
> -DDSO_D
> LFCN -DHAVE_DLFCN_H -maix64 -O -DB_ENDIAN -c  -o aix_ppc64.o aix_ppc64.s
> Using built-in specs.
> Target: powerpc-ibm-aix5.1.0.0
> Configured with:
> ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --disable-nls
> --ena
> ble-languages=c,c++ --prefix=/opt/freeware --enable-threads
> --enable-version
> -specific-runtime-libs --host=powerpc-ibm-aix5.1.0.0
> Thread model: aix
> gcc version 4.0.0
>  /usr/bin/as -u -a64 -mppc64 -o aix_ppc64.o aix_ppc64.s
> ========
> 
> This as command appeared to be hung.
> I ran this command without the -u options, and it worked:
> ========
> $ /usr/bin/as -a64 -mppc64 -o aix_ppc64.o aix_ppc64.s
> $ ls aix_ppc64.o
> aix_ppc64.o
> ========
> 
> The man page for as, has this to say about the -u option:
> ========
> -u Accepts an undefined symbol as an extern so that an error message is not
> displayed. Otherwise, undefined symbols are flagged with error messages.
> ========
> 
> So I wonder how the as commands hangs when -u is provided, and works fine
> without it ?

Do note that assembler is called *all the time*! I mean when compiling
.c file gcc simply generates an .s file and then invokes the assembler,
naturally with -u flag. In other words there is far more evidence that
as command does not hang when -u flag is provided. Or in yet other words
your focus is likely to be wrong: it's unlikely to be -u flag per se,
but rather when gcc attempts to process .s file [without having
generated it itself].

> As as is internally called by gcc, how can I tell gcc to call this command
> without -u? Does it even make sense (as calling as without -u may result in
> build failures in other components)?

"Exactly" to remark in last question. You should not fight the -u flag,
but something else. It can be some subtle bug in gcc compiler driver or
AIX libc...

> Has anyone seen this before?

I recall similar problem being reported on openssh-unix-dev list. A
while ago...

> Do you guys think there is some problem with the assembler?
> Do you think I require a patch for the assembler? If yes, could you please
> point me to a place from where I can get the patch for the assembler?

I just want to point that I can't possibly answer such questions, so
don't expect me to. Cheers. A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to