This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Is there any way to make Non EABI toolchain compile on i686 machine. Regards Sami On Sat, Feb 26, 2011 at 8:29 AM, sami md <sami.md.ko@gmail.com> wrote: > Thanks for the reply, I will try this program tomorrow.. > > I tried Enabling Software FPU in both Kernel configuration and ct-ng > configuration. > Now the board boots properly :) > > Regards > Sami > > On Fri, Feb 25, 2011 at 1:32 PM, Bill Pringlemeir <bpringle@sympatico.ca> wrote: >> >> There are many things that can go wrong here. ?Turn on 'Kernel hacking' >> and select the 'Verbose user fault messages'. ?You might also want to >> replace your filesystem with initramfs image and or just make a simple >> hello world init. >> >> Below is an ARM Linux program that should build without a library, etc. >> Your init program might need libraries, etc. ?Also, if your kernels page >> fault handler doesn't map memory you can get the same symptom. ?You can >> compile the program, make it your init and see if it prints. >> >> fwiw, >> Bill Pringlemeir. >> >> >> /* arm-none-eabi-gcc -I/home/src/linux/usr/include -nostdlib >> hello_world.c -o hello_world */ >> #include <linux/unistd.h> >> >> static inline int write(int fd, void *buf, int len) >> { >> ? ?int rval; >> ? ?asm volatile ("mov ?r0, %1\n\t" >> ? ? ? ?"mov ? ? r1, %2\n\t" >> ? ? ? ? ? ? ? ? "mov ? r2, %3\n\t" >> ? ? ? ?"mov ? ?r7, %4\n\t" >> ? ? ? ? ? ? ? ?"swi ? ?#7\n\t" >> ? ? ? ?"mov ? ?%0, r0\n\t" >> ? ? ? ? ? ? ? ?: "=r" (rval) >> ? ? ? ? ? ? ? ? ?: "r" (fd), >> ? ? ? ? ? ? ? ? ? ? ?"r" (buf), >> ? ? ? ? ? ? ? ? ? ? ? ? ? ?"r" (len), >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Ir" (__NR_write) >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : "r0", "r1", "r2", "r7"); >> ? ?return rval; >> } >> >> struct timespec { >> ? ?long ? tv_sec; ? ? ? ?/* seconds */ >> ? ?long ? tv_nsec; ? ? ? /* nanoseconds */ >> }; >> >> static inline int nanosleep(const struct timespec *req, struct timespec >> *rem) >> { >> ? ?int rval; >> ? ?asm volatile ("mov ?r0, %1\n\t" >> ? ? ? ?"mov ? ? r1, %2\n\t" >> ? ? ? ?"mov ? ?r7, %3\n\t" >> ? ? ? ? ? ? ? ?"swi ? ?#7\n\t" >> ? ? ? ?"mov ? ?%0, r0\n\t" >> ? ? ? ? ? ? ? ?: "=r" (rval) >> ? ? ? ? ? ? ? ? ?: "r" (req), >> ? ? ? ? ? ? ? ? ? ? ?"r" (rem), >> ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Ir" (__NR_nanosleep) >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : "r0", "r1", "r2", "r7"); >> ? ?return rval; >> } >> >> >> #define print_it(a) ?write(0, (a), sizeof((a))) >> int _start(void) >> { >> ? ?int i; >> ? ?struct timespec ts = { 300000, 0 }; >> ? ?for(i = 0; i < 5; i++) { >> ? ? ? ?if(nanosleep(&ts, 0)) >> ? ? ? ? ? ?print_it ("Sleep failed.\n"); >> ? ? ? ?print_it ("Hello World.\n"); >> ? ?} >> ? ?print_it ("Good-bye cruel world.\n"); >> ? ?return 0; >> } >> >> >> On 25 Feb 2011, sami.md.ko@gmail.com wrote: >> >>> Hi Yann E. MORIN >>> >>> ? ? ? ?Thanks for the help. >>> ? ? ? ?I tried to build my arm-toolchain without EABI on X86_64 >>> ? ? ? ?machine and the build was successful >>> >>> ? ? ? ?Then i compiled kernel and created ?filesystem using this newly >>> ? ? ? ?created arm toolchain. >>> >>> ? ? ? ?However board is not booting, it stops after "Freeing init Memory" >>> >>> ? ? ? ?Pls let me know what could be the problem. I guess that >>> ? ? ? ?since Im creating a non EABI toolchain i need to give name of the >>> ? ? ? ?specific ABI i.e CT_ARCH_ABI ?during ct-ng configuration. >>> >>> ? ? ? ?How to find what what CT_ARCH_ABI option to use for my ARM soc ? >>> >>> ? ? ? ?Pls find my kernel_config, build.log and ctng_config in attachment. >>> >>> ? ? ? ?Note: EABI is disabled in kernel. >>> >>> Thanks >>> Sami >>> >>> >>> On Wed, Feb 23, 2011 at 5:09 AM, Yann E. MORIN >>> <yann.morin.1998@anciens.enib.fr> wrote: >>>> Sami, All, >>>> >>>> On Tuesday 22 February 2011 12:32:24 sami md wrote: >>>>> I am creating a gcc-4.3.3,glibc-2.9 based toolchain for ARM SoC with >>>>> crosstool-ng. >>>>> When "Use EABI" (i.e. CT_ARCH_ARM_EABI) option is set in "Target >>>>> Options" the toolchain is created properly and also works fine. >>>>> >>>>> But if i dont select "Use EABI" option, i get below errors: >>>> [--SNIP--] >>>> >>>> It works fine on my x86_64 machine, but on a i686, it breaks?!?... >>>> Wooopsss... :-( I'll look later, now is time for bed... :-O >>>> >>>>> The build.log and config files are attached. >>>> >>>> I could not use your .config as-is, as you are using custom kernel headers. >>>> So I used latest ones (2.6.37.1). >>>> >>>> Regards, >>>> Yann E. MORIN. >>>> >>>> -- >>>> .-----------------.--------------------.------------------.--------------------. >>>> | ?Yann E. MORIN ?| Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | >>>> | +33 662 376 056 | Software ?Designer | \ / CAMPAIGN ? ? | ?___ ? ? ? ? ? ? ? | >>>> | +33 223 225 172 `------------.-------: ?X ?AGAINST ? ? ?| ?\e/ ?There is no ?| >>>> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL ? ?| ? v ? conspiracy. ?| >>>> '------------------------------^-------^------------------^--------------------' >>>> >> > -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |