Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - difference between qcc -V3.3.5,gcc_ntoppcbce and powerpc-unknown-nto-qnx6.3.0: (2 Items)
   
difference between qcc -V3.3.5,gcc_ntoppcbce and powerpc-unknown-nto-qnx6.3.0  
Hi,

I am porting a middleware application to work on QNX. My development machine is Fedora 8 x86 and target is ppc QNX 
machine. I want to 
1. Which compiler should I use for compiling the application?
2. What is the difference  between qcc -V3.3.5,gcc_ntoppcbce and powerpc-unknown-nto-qnx6.3.0?

Please guide me on this. I will appreciate if somebody can provide me some documents on these compiler and/or on QNX 
porting would help me a lot.

Thank you in advance.

Regards,
Amit
Re: difference between qcc -V3.3.5,gcc_ntoppcbce and powerpc-unknown-nto-qnx6.3.0  
Amit Gourgonda wrote:
> Hi,
> 
> I am porting a middleware application to work on QNX. My development machine is Fedora 8 x86 and target is ppc QNX 
machine. I want to 
> 1. Which compiler should I use for compiling the application?

qcc and powerpc-unknown-nto-qnx6.3.0-gcc are known as compiler drivers. 
They handle processing of some command line options and then invoke the 
various stages of the compile such as calling the compiler, assembler, 
and linker.

If you call:

powerpc-unknown-nto-qnx6.3.0-gcc t.c -v -n

and

qcc -V3.3.5,gcc_ntoppcbe t.c -v -n

you will see that they both call the same underlying compiler 
(/usr/qnx632/host/qnx6/x86/usr/lib/gcc-lib/powerpc-unknown-nto-qnx6.3.0/3.3.5/cc1).

> 2. What is the difference  between qcc -V3.3.5,gcc_ntoppcbce and powerpc-unknown-nto-qnx6.3.0?

The differences are minimal. qcc only handles a subset of gcc driver 
options. But all of the compiler options not handled by the driver (the 
ones passed down to cc1/cc1plus stage) can be passed down by qcc to the 
compiler stage (cc1/cc1plus) using -Wc, in front of the option.

One other difference is that for C++ "qcc -V3.3.5,gcc_ntoppcbe" uses 
Dinkumware C++ library and powerpc-unknown-nto-qnx6.3.0 uses the GNU 
libstdc++ library. If you want to use the qcc to use the GNU libstdc++ 
library, call qcc -V3.3.5,gcc_ntox86_gpp.

> Please guide me on this. I will appreciate if somebody can provide me some documents on these compiler and/or on QNX 
porting would help me a lot.

It depends on whether the application you are porting relies on any 
specific gcc driver options. All of the options that start with -f and 
-m are options to cc1/cc1plus. Some projects use the gcc -M options to 
generate makefile dependencies which collides with the qcc -M option for 
mapfile generation. If your application only uses standard compiler 
driver options (e.g -o, -S, -c, etc), you probably could use the qcc and 
gcc  drivers interchangeably. Our documentation recommends the use of 
qcc over the gcc driver.

http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/q/qcc.html

http://gcc.gnu.org/onlinedocs/gcc-3.3.5/gcc/

Regards,

Ryan Mansfield