public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* 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).