Another guess. Is there a "ld -r" in the build procedure? A partial linking.
On June 21, 2015 12:49:23 PM CDT, Sujay Raj <sujayr...@gmail.com> wrote: >I am updating my github repo after cleaning the code, for you all to >verify. I will drop a mail when its ready. > >Regards, > >Sujay Raj > > > > > >On Sun, Jun 21, 2015 at 10:54 PM, Sujay Raj <sujayr...@gmail.com> >wrote: > >@Chris , I used 'target_link_libraries' in mk_bin/CMakeLists.txt to >link libc.a and libbsd.a to the monkey-bin target > >@Joel, removing -O0 doesn't work too. > >I needed libc for three function , initgroups, timegm, and sendfile. > >Today I figured that monkey can function without 'initgroups' , if it >is given all privileges, which I think will be the case when it runs on >rtems (I tested on linux and when run from root, it can work without >initgroups) . And I wrote a my_timegm function emulating what timegm >does. So these two functions aren't needed anymore. (both were tested >and working on linux) > >The problem comes with sendfile. > >So, just to get things working, I also wrote a make shift version of >sendfile using read/write (which is working on linux, but is >theoretically slow). > >Doing the above removed the requirement of linking libc.a totally. > > >So yeah, we now have a working version of monkey on rtems using libbsd, >which is ready to be tested on qemu. Though, this is not the ideal >circumstances that we would have hoped for, and I certainly would want >monkey to be using the default sendfile from the library. > >Regards, > >Sujay Raj > > >On Sun, Jun 21, 2015 at 5:00 AM, Joel Sherrill ><joel.sherr...@oarcorp.com> wrote: > >I suspect it is because he is compiling at -O0. > > >On June 20, 2015 6:13:23 PM CDT, Chris Johns <chr...@rtems.org> wrote: >>On 20/06/2015 2:34 am, Sujay Raj wrote: >>> Hi , >>> >>> I am working on porting the monkey http server to rtems. >>> >>> I am working on the bsp: xilinx_zynq_a9_qemu , target: >arm-rtems4.11. >>> >>> There are two libraries that I am supposed to link to create my >final >>> executable, one is libbsd.a and the other is libc. >>> >>> libbsd.a links alright, but whenever I try to link libc to create >the >>> final executable , I get an error: >>> >>> >>/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/xilinx_zynq_a9_qemu/lib/librtemscpu.a(default-configuration.o): >>> In function `__getreent': >>> >>> >>/home/raaj/development/rtems/xilinx_zynq_a9_qemu/arm-rtems4.11/c/xilinx_zynq_a9_qemu/cpukit/libmisc/../../cpukit/../../../xilinx_zynq_a9_qemu/lib/include/rtems/confdefs.h:2420: >>> multiple definition of `__getreent' >>> >>> >>/home/raaj/development/rtems/4.11/tools/lib/gcc/arm-rtems4.11/4.9.2/../../../../arm-rtems4.11/lib/thumb/armv7-a/neon/hard/libc.a(lib_a-getreent.o): >>> >>> >>/home/raaj/development/rtems/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.2-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/arm-rtems4.11/thumb/armv7-a/neon/hard/newlib/libc/reent/../../../../../../../../../gcc-4.9.2/newlib/libc/reent/getreent.c:13: >>> first defined here >>> >>> >>> >>> The CFLAGS I am using to compile are : >>> >>> -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 >>-O0 >>> -g -qrtems >-B/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/lib >>> >>-B/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/xilinx_zynq_a9_qemu/lib/ >>> --specs bsp_specs >>> >>> >>> >>> note: I require libc for three function , initgroups, timegm, and >>sendfile. >>> >>> note: I am working on a cmake build system >>> >>> If the information given here is insufficient, kindly ask. >>> >> >>Can you please post the full command line you are using to link with ? >> >>Thanks >>Chris >>_______________________________________________ >>devel mailing list >>devel@rtems.org >>http://lists.rtems.org/mailman/listinfo/devel > >--joel > >_______________________________________________ >devel mailing list >devel@rtems.org >http://lists.rtems.org/mailman/listinfo/devel --joel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel