public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests
@ 2002-04-16 11:24 Tracy Jones
  2002-04-16 17:06 ` [ECOS] Sorry ,where is my arm-elf-gcc bean
  2002-04-30 11:35 ` [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Jonathan Larmour
  0 siblings, 2 replies; 4+ messages in thread
From: Tracy Jones @ 2002-04-16 11:24 UTC (permalink / raw)
  To: ecos-discuss


	Hi - I just loaded the latest and greatest ecos from cvs and
built it for linux synthetic.  I am using binutils 2.12 and gcc 3.0.4.

	I get the following errors when building the tests.

	gcc -c  -I/home/tracy/ecos/install/include
-I/swdev/home/tracy/newecos/ecos/packages/hal/common/current
-I/swdev/home/tracy/newecos/ecos/packages/hal/common/current/src
-I/swdev/home/tracy/newecos/ecos/packages/hal/common/current/tests -I.
-I/swdev/home/tracy/newecos/ecos/packages/hal/common/current/tests/
-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections
-Wp,-MD,tests/cache.tmp -o tests/cache.o
/swdev/home/tracy/newecos/ecos/packages/hal/common/current/tests/cache.c
	gcc -g -O0 -nostdlib -Wl,--gc-sections -Wl,-static
-L/home/tracy/ecos/install/lib -Ttarget.ld -o
/home/tracy/ecos/install/tests/hal/common/current/tests/cache
tests/cache.o
	
/swdev/tools/ecos-3.0.4/H-i686-pc-linux-gnu/bin/../lib/gcc-lib/i686-pc-l
inux-gnu/3.0.4/../../../../i686-pc-linux-gnu/bin/ld: warning: no memory
region specified for section `.rel.text'
	
/swdev/tools/ecos-3.0.4/H-i686-pc-linux-gnu/bin/../lib/gcc-lib/i686-pc-l
inux-gnu/3.0.4/../../../../i686-pc-linux-gnu/bin/ld: warning: no memory
region specified for section `.rel.text.cyg_start'
	
/swdev/tools/ecos-3.0.4/H-i686-pc-linux-gnu/bin/../lib/gcc-lib/i686-pc-l
inux-gnu/3.0.4/../../../../i686-pc-linux-gnu/bin/ld: warning: no memory
region specified for section
`.rel.text._Z41__static_initialization_and_destruction_0ii'
	..
	..
	..
	..
	
/swdev/tools/ecos-3.0.4/H-i686-pc-linux-gnu/bin/../lib/gcc-lib/i686-pc-l
inux-gnu/3.0.4/../../../../i686-pc-linux-gnu/bin/ld: address 0x0 of
/home/tracy/ecos/install/tests/hal/common/current/tests/cache section
.gcc_except_table is not within region rom

	Here is the generated target.ld

	STARTUP(vectors.o)
	ENTRY(_start)
	INPUT(extras.o)
	GROUP(libtarget.a libgcc.a)
	MEMORY
	{
	    rom : ORIGIN = 0x1000000, LENGTH = 0x800000
	    ram : ORIGIN = 0x2000000, LENGTH = 0x800000
	}
	SECTIONS
	{
	    .vectors 0x1000000 : { . = .; KEEP(*(.vectors)) } > rom
	    .text ALIGN (0x4) : { _stext = .; *(.text*) *(.gnu.warning)
*(.gnu.linkonce*) *(.init) } > rom _etext = .; PROVIDE (etext = .);
	    .fini ALIGN (0x4) : { . = .; *(.fini) } > rom
	    .rodata1 ALIGN (0x8) : { . = .; *(.rodata1) } > rom
	    .rodata ALIGN (0x8) : { . = .; *(.rodata*) } > rom
	    .fixup ALIGN (0x4) : { _FIXUP_START_ = ABSOLUTE(.);
*(.fixup) _FIXUP_END_ = ABSOLUTE(.);} > rom
	    .rel.got ALIGN (0x1) : { *(.rel.got) } > rom
	    .gcc_except_table ALIGN (0x1) : { _EXCEPT_START_ =
ABSOLUTE(.); *(.gcc_except_table) _EXCEPT_END_ = ABSOLUTE(.);} > rom
	    .data 0x2000000 : { __ram_data_start = ABSOLUTE(.);
*(.data*) _GOT1_START_ = ABSOLUTE(.); *(.got1) _GOT1_END_ = ABSOLUTE(.);
. = ALIGN(8); __CTOR_LIST__ = ABSOLUTE(.); KEEP(*(SORT(.ctors*)))
__CTOR_END__ = ABSOLUTE(.); __DTOR_LIST__ = ABSOLUTE(.);
KEEP(*(SORT(.dtors*))) __DTOR_END__ = ABSOLUTE(.); . = ALIGN(32);
KEEP(*( SORT (.ecos.table.*))); _GOT2_START_ = ABSOLUTE(.); *(.got2)
_GOT2_END_ = ABSOLUTE(.); _GOT_START_ = ABSOLUTE(.);
_GLOBAL_OFFSET_TABLE_ = ABSOLUTE(. + 32768); _SDA_BASE_ = ABSOLUTE(.);
*(.got.plt) *(.got) _GOT_END_ = ABSOLUTE(.); *(.dynamic) *(.eh_frame)
_SDATA_START_ = ABSOLUTE(.); *(.sdata*) } > ram __rom_data_start =
LOADADDR(.data); __ram_data_end = .; PROVIDE(__ram_data_end = .); _edata
= .; PROVIDE (edata = .);
	    .sbss ALIGN (0x4) : { __bss_start = ABSOLUTE (.);
_SBSS_START_ = ABSOLUTE(.); *(.sbss*) _SBSS_END_ = ABSOLUTE(.);
*(.scommon*) } > ram
	    .bss ALIGN (0x10) : { . = .; *(.dynbss*) *(.bss*) *(COMMON)
} > ram __bss_end = .;
	    __heap1 = ALIGN (0x10);
	    . = ALIGN(4); _end = .; PROVIDE (end = .);
	}

	Any hints??

> Tracy Jones
> Stratalight Communications
> tracy@stratalight.com
> 408-961-6278
> 

--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ECOS] Sorry ,where is my arm-elf-gcc
  2002-04-16 11:24 [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Tracy Jones
@ 2002-04-16 17:06 ` bean
  2002-04-30 11:37   ` Jonathan Larmour
  2002-04-30 11:35 ` [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Jonathan Larmour
  1 sibling, 1 reply; 4+ messages in thread
From: bean @ 2002-04-16 17:06 UTC (permalink / raw)
  To: ecos-discuss

 I would use eCos on SNDS 100 evaluation board... with ATM7TDMI
so I did like http://sources.redhat.com/ecos/tools/win-arm-elf.html precisely ..but when I did building the tools, I didn't find arm-elf-gcc.exe in cygwin/tools/H-i686-pc-cygwin/bin, I just got these files :

arm-elf-addr2line.exe
arm-elf-ar.exe
arm-elf-as.exe
arm-elf-c++filt.exe
arm-elf-gasp.exe
arm-elf-gdb.exe
arm-elf-ld.exe
arm-elf-nm.exe
arm-elf-objcopy.exe
arm-elf-objdump.exe
arm-elf-ranlib.exe
arm-elf-readelf.exe
arm-elf-run.exe
arm-elf-size.exe
arm-elf-strings.exe
arm-elf-strip.exe

so when I tried to make configuration build, I'm failed... so please help me ... is there any something wrong ? 

ps: for gdb I use gdb-5.1.0.1 but I use Insight-tcl.pat too like said on paper.


thank you so much 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] no memory region speficifed for section..... followed by  .gcc_except_table is not within region rom in making tests
  2002-04-16 11:24 [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Tracy Jones
  2002-04-16 17:06 ` [ECOS] Sorry ,where is my arm-elf-gcc bean
@ 2002-04-30 11:35 ` Jonathan Larmour
  1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Larmour @ 2002-04-30 11:35 UTC (permalink / raw)
  To: Tracy Jones; +Cc: ecos-discuss

[-- Attachment #1: Type: text/plain, Size: 540 bytes --]

Tracy Jones wrote:
> 
> /swdev/tools/ecos-3.0.4/H-i686-pc-linux-gnu/bin/../lib/gcc-lib/i686-pc-l
> inux-gnu/3.0.4/../../../../i686-pc-linux-gnu/bin/ld: warning: no memory
> region specified for section `.rel.text'
[snip]

I fixed this in our sources just earlier this month, and the patch is easy
to make so here it is. 

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine

[-- Attachment #2: synthld.pat --]
[-- Type: text/plain, Size: 11021 bytes --]

Index: arch/current/src/synth.ld
===================================================================
RCS file: /home/cvs/ecc/ecc/hal/synth/arch/current/src/synth.ld,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -5 -p -r1.2 -r1.3
--- arch/current/src/synth.ld	2001/06/08 03:57:55	1.2
+++ arch/current/src/synth.ld	2002/04/10 21:21:23	1.3
@@ -60,11 +60,11 @@ GROUP(libtarget.a libgcc.a)
   > _region_
 
 #define SECTION_text(_region_, _vma_, _lma_)                    \
   .text _vma_ : _lma_                                           \
   { _stext = .;                                                 \
-    *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) }      \
+    *(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init) }   \
   > _region_                                                    \
   _etext = .;  PROVIDE (etext = .);
 
 #define SECTION_fini(_region_, _vma_, _lma_)                    \
     .fini _vma_ : _lma_                                         \
@@ -76,11 +76,11 @@ GROUP(libtarget.a libgcc.a)
     { FORCE_OUTPUT; *(.rodata1) }                               \
     > _region_
 
 #define SECTION_rodata(_region_, _vma_, _lma_)                  \
     .rodata _vma_ : _lma_                                       \
-    { FORCE_OUTPUT; *(.rodata*) }                               \
+    { FORCE_OUTPUT; *(.rodata*) *(.gnu.linkonce.r.*) }          \
     > _region_
 
 #define SECTION_fixup(_region_, _vma_, _lma_)                   		\
     .fixup _vma_ : _lma_                                                       	\
     { _FIXUP_START_ = ABSOLUTE(.); *(.fixup) _FIXUP_END_ = ABSOLUTE(.);} 	\
@@ -90,19 +90,81 @@ GROUP(libtarget.a libgcc.a)
     .gcc_except_table _vma_ : _lma_                                           	\
     { _EXCEPT_START_ = ABSOLUTE(.); *(.gcc_except_table)                	\
       _EXCEPT_END_ = ABSOLUTE(.);}                                      	\
     > _region_
 
+#define SECTION_eh_frame(_region_, _vma_, _lma_)      \
+  .eh_frame _vma_ : _lma_                             \
+    {                                                 \
+       FORCE_OUTPUT;  __EH_FRAME_BEGIN__ = .;         \
+       KEEP(*(.eh_frame))                             \
+       __FRAME_END__ = .;                             \
+       . = . + 8;                                     \
+    } > _region_ = 0
+
+#define SECTION_RELOCS(_region_, _vma_, _lma_)                              \
+  .rel.text      :                                                          \
+    {                                                                       \
+      *(.rel.text)                                                          \
+      *(.rel.text.*)                                                        \
+      *(.rel.gnu.linkonce.t*)                                               \
+    } > _region_                                                            \
+  .rela.text     :                                                          \
+    {                                                                       \
+      *(.rela.text)                                                         \
+      *(.rela.text.*)                                                       \
+      *(.rela.gnu.linkonce.t*)                                              \
+    } > _region_                                                            \
+  .rel.data      :                                                          \
+    {                                                                       \
+      *(.rel.data)                                                          \
+      *(.rel.data.*)                                                        \
+      *(.rel.gnu.linkonce.d*)                                               \
+    } > _region_                                                            \
+  .rela.data     :                                                          \
+    {                                                                       \
+      *(.rela.data)                                                         \
+      *(.rela.data.*)                                                       \
+      *(.rela.gnu.linkonce.d*)                                              \
+    } > _region_                                                            \
+  .rel.rodata    :                                                          \
+    {                                                                       \
+      *(.rel.rodata)                                                        \
+      *(.rel.rodata.*)                                                      \
+      *(.rel.gnu.linkonce.r*)                                               \
+    } > _region_                                                            \
+  .rela.rodata   :                                                          \
+    {                                                                       \
+      *(.rela.rodata)                                                       \
+      *(.rela.rodata.*)                                                     \
+      *(.rela.gnu.linkonce.r*)                                              \
+    } > _region_                                                            \
+  .rel.got       :   { *(.rel.got)    } > _region_                          \
+  .rela.got      :   { *(.rela.got)   } > _region_                          \
+  .rel.ctors     :   { *(.rel.ctors)  } > _region_                          \
+  .rela.ctors    :   { *(.rela.ctors) } > _region_                          \
+  .rel.dtors     :   { *(.rel.dtors)  } > _region_                          \
+  .rela.dtors    :   { *(.rela.dtors) } > _region_                          \
+  .rel.init      :   { *(.rel.init)   } > _region_                          \
+  .rela.init     :   { *(.rela.init)  } > _region_                          \
+  .rel.fini      :   { *(.rel.fini)   } > _region_                          \
+  .rela.fini     :   { *(.rela.fini)  } > _region_                          \
+  .rel.bss       :   { *(.rel.bss)    } > _region_                          \
+  .rela.bss      :   { *(.rela.bss)   } > _region_                          \
+  .rel.plt       :   { *(.rel.plt)    } > _region_                          \
+  .rela.plt      :   { *(.rela.plt)   } > _region_                          \
+  .rel.dyn       :   { *(.rel.dyn)    } > _region_
+
 // Note: The __ in the name is an encoding of the .
 #define SECTION_rel__got(_region_, _vma_, _lma_)        			\
     .rel.got _vma_ : _lma_                                            		\
     { *(.rel.got)      }                                        		\
     > _region_
 
 #define SECTION_data(_region_, _vma_, _lma_)                                    \
     .data _vma_ : _lma_                                                         \
-    { __ram_data_start = ABSOLUTE(.); *(.data*)                                 \
+    { __ram_data_start = ABSOLUTE(.); *(.data*) *(.gnu.linkonce.d.*)            \
     _GOT1_START_ = ABSOLUTE(.); *(.got1) _GOT1_END_ = ABSOLUTE(.);              \
       /* Put .ctors and .dtors next to the .got2 section, so that */            \
       /* the pointers get relocated with -mrelocatable.           */            \
      . = ALIGN(8); __CTOR_LIST__ = ABSOLUTE(.);                                 \
       KEEP(*(SORT(.ctors*))) __CTOR_END__ = ABSOLUTE(.);                        \
@@ -111,30 +173,31 @@ GROUP(libtarget.a libgcc.a)
     . = ALIGN(32);                                                              \
     KEEP(*( SORT (.ecos.table.*)));                                             \
     _GOT2_START_ = ABSOLUTE(.); *(.got2) _GOT2_END_ = ABSOLUTE(.);              \
     _GOT_START_ = ABSOLUTE(.); _GLOBAL_OFFSET_TABLE_ = ABSOLUTE(. + 32768);     \
     _SDA_BASE_ = ABSOLUTE(.); *(.got.plt) *(.got)                               \
-    _GOT_END_ = ABSOLUTE(.);  *(.dynamic) *(.eh_frame)                          \
+    _GOT_END_ = ABSOLUTE(.);  *(.dynamic)                                       \
       /* We want the small data sections together, so single-instruction */     \
       /* offsets can access them all, and initialized data all before    */     \
       /* uninitialized, so we can shorten the on-disk segment size.      */     \
-    _SDATA_START_ = ABSOLUTE(.); *(.sdata*) }                                   \
+    _SDATA_START_ = ABSOLUTE(.); *(.sdata*) *(.gnu.linkonce.s.*) }              \
     > _region_                                                                  \
     __rom_data_start = LOADADDR(.data);                                         \
     __ram_data_end = .; PROVIDE(__ram_data_end = .);                            \
     _edata = .; PROVIDE (edata = .);
 
 #define SECTION_sbss(_region_, _vma_, _lma_)                                    \
     .sbss _vma_ : _lma_                                                         \
     { __bss_start = ABSOLUTE (.);                                               \
-    _SBSS_START_ = ABSOLUTE(.); *(.sbss*) _SBSS_END_ = ABSOLUTE(.);             \
+    _SBSS_START_ = ABSOLUTE(.); *(.sbss*) *(.gnu.linkonce.sb.*)                 \
+    _SBSS_END_ = ABSOLUTE(.);                                                   \
     *(.scommon*) }                                                              \
     > _region_
 
 #define SECTION_bss(_region_, _vma_, _lma_)                                     \
     .bss _vma_ : _lma_                                                          \
-    { FORCE_OUTPUT; *(.dynbss*) *(.bss*) *(COMMON) }                            \
+    { FORCE_OUTPUT; *(.dynbss*) *(.bss*) *(COMMON) *(.gnu.linkonce.b.*) }       \
     > _region_                                                                  \
     __bss_end = .;
 
 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .);
 
Index: i386linux/current/include/pkgconf/mlt_synth_i386_rom.ldi
===================================================================
RCS file: /home/cvs/ecc/ecc/hal/synth/i386linux/current/include/pkgconf/mlt_synth_i386_rom.ldi,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -5 -p -r1.2 -r1.3
--- i386linux/current/include/pkgconf/mlt_synth_i386_rom.ldi	2001/06/08 03:57:56	1.2
+++ i386linux/current/include/pkgconf/mlt_synth_i386_rom.ldi	2002/04/10 21:21:05	1.3
@@ -17,10 +17,12 @@ SECTIONS
     SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rodata1 (rom, ALIGN (0x8), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x8), LMA_EQ_VMA)
     SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_RELOCS (rom, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_eh_frame (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rel__got (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_gcc_except_table (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_data (ram, 0x2000000, LMA_EQ_VMA)
     SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_bss (ram, ALIGN (0x10), LMA_EQ_VMA)


[-- Attachment #3: Type: text/plain, Size: 146 bytes --]

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] Sorry ,where is my arm-elf-gcc
  2002-04-16 17:06 ` [ECOS] Sorry ,where is my arm-elf-gcc bean
@ 2002-04-30 11:37   ` Jonathan Larmour
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Larmour @ 2002-04-30 11:37 UTC (permalink / raw)
  To: bean; +Cc: ecos-discuss

bean wrote:
> 
> 
> so when I tried to make configuration build, I'm failed... so please help me ... is there any something wrong ?

What was reported at the bottom of the make.out after you tried to build
gcc? If you don't know what's going wrong you can post just that bit to the
list - but don't post the entire make.out!

jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-04-30 18:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-16 11:24 [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Tracy Jones
2002-04-16 17:06 ` [ECOS] Sorry ,where is my arm-elf-gcc bean
2002-04-30 11:37   ` Jonathan Larmour
2002-04-30 11:35 ` [ECOS] no memory region speficifed for section..... followed by .gcc_except_table is not within region rom in making tests Jonathan Larmour

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).