Project Home
Project Home
Source Code
Source Code
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - does qnx use gnu glibc?: (5 Items)
   
does qnx use gnu glibc?  
Hi, i would like to know if qnx uses gnu glibc or is it a forked version of it.

For some reasons, i compiled gnu-libc and notice that the genuine libc has version symbols referencing
GLIBC_2.x, but the qnx libc does not have that reference.

I would like to know where qnx libc derived from.

thanks
RE: does qnx use gnu glibc?  
QNX Neutrino libc is not a glibc derivative.  It is Dinkumware with extensive proprietary extensions.
Re: RE: does qnx use gnu glibc?  
Thank you,

I understand now,

I am trying to make a build environment on x86-linux platform to cross compile some open source packages to armv7-nto-
qnx.  Since, I do not rebuild qnx compiler, and only use the downloaded toolchain along with native/target libraries 
provided by this project, I do not have control for the linking process.

The problem i am having right now is that the binary tool (gcc), always want to load in c startup objects in armv7/armle
-v7/lib/crt1.o with a simple hello world program.  That path was preconfigured while building the compiler for qnx.  it 
was probably defined using the preprocessor while building GCC:

#define STANDARD_STARTFILE_PREFIX "/some_cross_platform_library_path/lib/"



I would like to know if there is anyway I can modify the current precompiled linker (or linker script) to not search for
 C-runtime (crt.o) in its standard location at armv7/armle-v7/lib/crt1.o.  I tried telling the linker where to find the 
c-runtime using -L -I search path arguments and the linker still error out, saying that path to object armv7/armle-v7/
lib/crt1* not found.  Certainly, since I am making a build environment, i do not want to be in the target directory 
where the linker can find its C-runtime library all the time.


Presently, I can only compile a hello world application under my development environment by telling gcc not to use its 
linker script and c-runtime libraries by passing the following arguments.

ntoarmv7-gcc -nostdlib -L$root/usr/lib hello.c $root/usr/lib/armv7/armle-v7/lib/{crt*.o,libc.so.3}

 This is only a work-around method.  To have a truely cross platform toolchain, like the toolchain I made for arm-linux,
 the linker must not always try to find its C-runtime library at a fixed location.
Re: does qnx use gnu glibc?  
Have you set
QNX_TARGET and QNX HOST, it sounds like your build environment isn't set correctly.


Sent from my BlackBerry 10 smartphone.
From: Toan Pha
Sent: Wednesday, October 30, 2013 18:18
To: general-toolchain
Reply To: general-toolchain@community.qnx.com
Subject: Re: RE: does qnx use gnu glibc?



Thank you,

I understand now,

I am trying to make a build environment on x86-linux platform to cross compile some open source packages to armv7-nto-
qnx.  Since, I do not rebuild qnx compiler, and only use the downloaded toolchain along with native/target libraries 
provided by this project, I do not have control for the linking process.

The problem i am having right now is that the binary tool (gcc), always want to load in c startup objects in armv7/armle
-v7/lib/crt1.o with a simple hello world program.  That path was preconfigured while building the compiler for qnx.  it 
was probably defined using the preprocessor while building GCC:

#define STANDARD_STARTFILE_PREFIX "/some_cross_platform_library_path/lib/"



I would like to know if there is anyway I can modify the current precompiled linker (or linker script) to not search for
 C-runtime (crt.o) in its standard location at armv7/armle-v7/lib/crt1.o.  I tried telling the linker where to find the 
c-runtime using -L -I search path arguments and the linker still error out, saying that path to object armv7/armle-v7/
lib/crt1* not found.  Certainly, since I am making a build environment, i do not want to be in the target directory 
where the linker can find its C-runtime library all the time.


Presently, I can only compile a hello world application under my development environment by telling gcc not to use its 
linker script and c-runtime libraries by passing the following arguments.

ntoarmv7-gcc -nostdlib -L$root/usr/lib hello.c $root/usr/lib/armv7/armle-v7/lib/{crt*.o,libc.so.3}

 This is only a work-around method.  To have a truely cross platform toolchain, like the toolchain I made for arm-linux,
 the linker must not always try to find its C-runtime library at a fixed location.




_______________________________________________

General
http://community.qnx.com/sf/go/post106418
To cancel your subscription to this discussion, please e-mail general-toolchain-unsubscribe@community.qnx.com
Attachment: HTML sf-attachment-mime19635 4.84 KB
Re: does qnx use gnu glibc?  
I have an idea on how to make the precompiled gcc tool to work.  I need to create another linker script and force it to 
link with qnx libc objects found at an absolute path on my machine, instead of relative path.  Will report this back 
soon.