* EABI on bare metal.
@ 2009-03-25 18:32 Thomas Charron
2009-03-25 23:53 ` Khem Raj
2009-03-26 18:22 ` Yann E. MORIN
0 siblings, 2 replies; 7+ messages in thread
From: Thomas Charron @ 2009-03-25 18:32 UTC (permalink / raw)
To: crossgcc
I was previously generating stuff using arm-unknown-eabi. As an
experiment, I tried using arm-unknown-elf, disabling EABI in menuconf.
That toolchain, however, leads to this error:
.assembling
arm-unknown-elf-as -ahls -mapcs-32 -o crt.o crt.s > crt.lst
.compiling
arm-unknown-elf-gcc -I./ -c -fno-common -O0 -g main.c
..linking
arm-unknown-elf-ld -v -Map main.map -T2129_demo.cmd -o main.out crt.o
uart.o main.o
GNU ld version 2.16.1
arm-unknown-elf-ld: ERROR: Source object main.o has EABI version 0,
but target main.out has EABI version 4
arm-unknown-elf-ld: failed to merge target specific data of file main.o
make: *** [main.out] Error 1
This is using the newlib branch that was recently created.
--
-- Thomas
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-25 18:32 EABI on bare metal Thomas Charron
@ 2009-03-25 23:53 ` Khem Raj
2009-03-26 13:12 ` Thomas Charron
2009-03-26 18:22 ` Yann E. MORIN
1 sibling, 1 reply; 7+ messages in thread
From: Khem Raj @ 2009-03-25 23:53 UTC (permalink / raw)
To: crossgcc
[-- Attachment #1: Type: text/plain, Size: 889 bytes --]
On Wednesday 25 March 2009 11:32:34 Thomas Charron wrote:
> I was previously generating stuff using arm-unknown-eabi. As an
> experiment, I tried using arm-unknown-elf, disabling EABI in menuconf.
>
> That toolchain, however, leads to this error:
>
> .assembling
> arm-unknown-elf-as -ahls -mapcs-32 -o crt.o crt.s > crt.lst
> .compiling
> arm-unknown-elf-gcc -I./ -c -fno-common -O0 -g main.c
> ..linking
> arm-unknown-elf-ld -v -Map main.map -T2129_demo.cmd -o main.out crt.o
> uart.o main.o
> GNU ld version 2.16.1
> arm-unknown-elf-ld: ERROR: Source object main.o has EABI version 0,
> but target main.out has EABI version 4
> arm-unknown-elf-ld: failed to merge target specific data of file main.o
> make: *** [main.out] Error 1
>
> This is using the newlib branch that was recently created.
>
what is the content of 2129_demo.cmd ?
--
Khem Raj
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-25 23:53 ` Khem Raj
@ 2009-03-26 13:12 ` Thomas Charron
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Charron @ 2009-03-26 13:12 UTC (permalink / raw)
To: Khem Raj; +Cc: crossgcc
On Wed, Mar 25, 2009 at 7:52 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Wednesday 25 March 2009 11:32:34 Thomas Charron wrote:
>> I was previously generating stuff using arm-unknown-eabi. As an
>> experiment, I tried using arm-unknown-elf, disabling EABI in menuconf.
> what is the content of 2129_demo.cmd ?
Included here:
==================================
ENTRY(_startup)
/* specify the LPC2129 memory areas */
MEMORY
{
flash : ORIGIN = 0, LENGTH = 256K /* FLASH ROM
*/
ram_isp_low(A) : ORIGIN = 0x40000120, LENGTH = 223 /* variables
used by Philips ISP bootloader */
ram : ORIGIN = 0x40000200, LENGTH = 15840 /* free RAM area */
ram_isp_high(A) : ORIGIN = 0x40003FE0, LENGTH = 32 /* variables
used by Philips ISP bootloader */
}
/* define a global symbol _stack_end */
_stack_end = 0x40003EDC;
/* now define the output sections */
SECTIONS
{
. = 0; /* set location counter to address zero */
startup : { *(.startup)} >flash /* the startup code goes into FLASH */
.text : /* collect all sections that should go into FLASH
after startup */
{
*(.text) /* all .text sections (code) */
*(.rodata) /* all .rodata sections (constants, strings, etc.) */
*(.rodata*) /* all .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* all .glue_7 sections (no idea what these are) */
*(.glue_7t) /* all .glue_7t sections (no idea what these are) */
_etext = .; /* define a global symbol _etext just after the
last code byte */
} >flash /* put all the above into FLASH */
.data : /* collect all initialized .data sections that go into RAM */
{
_data = .; /* create a global symbol marking the start of the
.data section */
*(.data) /* all .data sections */
_edata = .; /* define a global symbol marking the end of the
.data section */
} >ram AT >flash /* put all the above into RAM (but load the LMA
copy into FLASH) */
.bss : /* collect all uninitialized .bss sections that go into RAM */
{
_bss_start = .; /* define a global symbol marking the start of
the .bss section */
*(.bss) /* all .bss sections */
} >ram /* put all the above in RAM (it will be cleared in the
startup code */
. = ALIGN(4); /* advance location counter to the next 32-bit boundary */
_bss_end = . ; /* define a global symbol marking the end of the
.bss section */
}
_end = .; /* define a global symbol marking the end of application RAM */
--
-- Thomas
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-25 18:32 EABI on bare metal Thomas Charron
2009-03-25 23:53 ` Khem Raj
@ 2009-03-26 18:22 ` Yann E. MORIN
2009-03-26 18:27 ` Yann E. MORIN
2009-03-26 18:59 ` Thomas Charron
1 sibling, 2 replies; 7+ messages in thread
From: Yann E. MORIN @ 2009-03-26 18:22 UTC (permalink / raw)
To: crossgcc; +Cc: Thomas Charron
Thomas,
All,
On Wednesday 25 March 2009 19:32:34 Thomas Charron wrote:
> I was previously generating stuff using arm-unknown-eabi. As an
> experiment, I tried using arm-unknown-elf, disabling EABI in menuconf.
> That toolchain, however, leads to this error:
>
> .assembling
> arm-unknown-elf-as -ahls -mapcs-32 -o crt.o crt.s > crt.lst
> .compiling
> arm-unknown-elf-gcc -I./ -c -fno-common -O0 -g main.c
> ..linking
> arm-unknown-elf-ld -v -Map main.map -T2129_demo.cmd -o main.out crt.o
> uart.o main.o
Are all the input files built with the same toolchain? Is one of those
a binary-only blob you can't rebuild?
> This is using the newlib branch that was recently created.
Well, there is no new code in there yet.
Adding new lib raises a few questions about the current BARE_METAL design
stuff. I'll start another thread about this issue later (this WE, when I
have more time)...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-26 18:22 ` Yann E. MORIN
@ 2009-03-26 18:27 ` Yann E. MORIN
2009-03-26 18:59 ` Thomas Charron
1 sibling, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2009-03-26 18:27 UTC (permalink / raw)
To: crossgcc; +Cc: Thomas Charron
Thomas,
All,
On Thursday 26 March 2009 19:22:31 Yann E. MORIN wrote:
> On Wednesday 25 March 2009 19:32:34 Thomas Charron wrote:
> > arm-unknown-elf-ld -v -Map main.map -T2129_demo.cmd -o main.out crt.o
> > uart.o main.o
> Are all the input files built with the same toolchain? Is one of those
> a binary-only blob you can't rebuild?
When I say "input files", I mean "input files to the linker". These are
main.o, crt.o and uart.o.
Also, be sure that the build directory is clean before compiling.
Maybe one of those files is a left-over from a previous build with the
EABI toolchain, and was not re-built with the OABI one.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-26 18:22 ` Yann E. MORIN
2009-03-26 18:27 ` Yann E. MORIN
@ 2009-03-26 18:59 ` Thomas Charron
2009-03-26 19:54 ` Yann E. MORIN
1 sibling, 1 reply; 7+ messages in thread
From: Thomas Charron @ 2009-03-26 18:59 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: crossgcc
On Thu, Mar 26, 2009 at 2:22 PM, Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> wrote:
> a binary-only blob you can't rebuild?
It was strange, I think it did build something using the wrong one.
Not sure, I'll test it out later.
>> This is using the newlib branch that was recently created.
> Well, there is no new code in there yet.
> Adding new lib raises a few questions about the current BARE_METAL design
> stuff. I'll start another thread about this issue later (this WE, when I
> have more time)...
I would love to actually help, but I'll be honest. I did go thru
and start playing with what it takes to add it in, using the other
scripts/build/libc scripts as an example.
I'll let you know if I have time to mess with some things. I CAN
say I wouldn't be up to snuff on helping change the whole mechanism,
but I can certainly help get it working with newlib.
--
-- Thomas
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: EABI on bare metal.
2009-03-26 18:59 ` Thomas Charron
@ 2009-03-26 19:54 ` Yann E. MORIN
0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2009-03-26 19:54 UTC (permalink / raw)
To: crossgcc; +Cc: Thomas Charron
Thomas,
All,
On Thursday 26 March 2009 19:59:33 Thomas Charron wrote:
> On Thu, Mar 26, 2009 at 2:22 PM, Yann E. MORIN
> <yann.morin.1998@anciens.enib.fr> wrote:
> > a binary-only blob you can't rebuild?
> It was strange, I think it did build something using the wrong one.
> Not sure, I'll test it out later.
Most probably a left-over, uncleaned file...
> I would love to actually help, but I'll be honest. I did go thru
> and start playing with what it takes to add it in, using the other
> scripts/build/libc scripts as an example.
Yes, it will be quite complex. Currently, bare-metal compilers are
built using the core gcc procedure, because I could not make the
procedure for the final compiler to work for bare-metal.
But using newlib will require the final compiler to be built, but it
is not possible as-is.
> I'll let you know if I have time to mess with some things. I CAN
> say I wouldn't be up to snuff on helping change the whole mechanism,
> but I can certainly help get it working with newlib.
Yes, I will certainly be interested to get some feedback, as I don't
have the necessary setup to test bare-metal. Thank you for offering
help in this regard.
Regards,
Yann E. MORIN.
BTW. "Thomas CHARRON" sounds really like a french name. Are you
french, by chance?
YEM.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: 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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-03-26 19:54 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-25 18:32 EABI on bare metal Thomas Charron
2009-03-25 23:53 ` Khem Raj
2009-03-26 13:12 ` Thomas Charron
2009-03-26 18:22 ` Yann E. MORIN
2009-03-26 18:27 ` Yann E. MORIN
2009-03-26 18:59 ` Thomas Charron
2009-03-26 19:54 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).