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]

Re: Error in creating arm toolchain without CT_ARCH_ARM_EABI option


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]