Chapter 7. Miscellaneous FAQ

This chapter summarizes important concepts found throughout this manual in the form of frequently asked questions and their answers.

Q. 

Why can't I link my 32-bit application with a 64-bit library?

A.  

There are differences in the subroutine calling interface.

Q. 

How can I see what LNO does to my code?

A. 

To view the file , use -LNO:FLIST=ONon your compile line
%f77 -64 -LNO:FLIST=ON foo.f

Q. 

How can I see what the automatic parallelizer does to my code when I add -pfa to my command line.?

A. 

To generate the listing file, use -pfa keep on your compile line
%f77 -pfa keep foo.f

Q. 

My /tmp directory becomes full when I do a compile.
What should I do?

A. 

%setenv TMP_DIR /directory on a free partition.

Q. 

How do I know which compiler is being invoked?

A. 

cc -show will show each of the components as they are being run.

Q. 

My 64-bit shared application gets mysterious messages from rld at runtime.What is the problem?

A.  

It's possible that you are linking with 32-bit .so's. Check and reset your _RLD_ROOT environment variable.

Q. 

How can I avoid always setting -32, -n32 or -64 on my compilation command line?

A. 

%setenv SGI_ABI -32
%setenv SGI_ABI -n32 or
%setenv SGI_ABI -64.

Q. 

How do I know if my code software pipelined OK?

A. 

Compile your file (say foo.f)-64 -O3 -mips4 -S. Then grep #<swp foo.s#
#<swpf
will be printed for loops that failed to software pipeline.
#<swps will be printed for statistics and other info about the loops that did software pipeline.

Q. 

I compiled -O, but my code did not software pipeline. Why not?

A. 

Software pipelining occurs at -O3. -O implies -O2.

Q. 

Ok, I now compiled -O3. Why didn't my code software pipeline?

A.  

Does it have a call or branch in the inner loop?
Is the inner loop too long?
Does the inner loop execute too few iterations?
Are there divide recurrences in your inner loop?

Q.  

What predefine should my source code look at to know if its being compiled 32-bit or 64-bit.

A. 

One way is:
#if (_MIPS_SZLONG == 64)