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