This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
failure of "make tests" for Linux synthetic target
- To: ecos-discuss at sourceware dot cygnus dot com
- Subject: [ECOS] failure of "make tests" for Linux synthetic target
- From: Grant Edwards <grante at visi dot com>
- Date: Fri, 22 Oct 1999 17:32:08 -0500
The build of the linux synthetic target for eCOS seemed to go OK, but
when I did a "make tests" it failed because of what appears to be a
linker configuration problem. I could add bss4 and bss5 sections to
target.ld by hand, but that doesn't sound too kosher.
Anybody have any clues?
The tail end of the "make tests" output is below:
---------------------------------------------------------------------------
make[1]: Entering directory `/home/grante/ecos/ecos-1.2.1/packages/ecos-linux/hal/common/v1_2_1/tests'
i686-pc-linux-gnu-gcc -c -I/home/grante/ecos/ecos-1.2.1/packages/ecos-linux/install/include -I. -I/home/grante/ecos/ecos-1.2.1/packages/ecos-linux/../hal/common/v1_2_1/tests -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -ffunction-sections -fdata-sections -g -O2 -Wp,-MD,hal_intr.tmp -o hal_intr.o /home/grante/ecos/ecos-1.2.1/packages/ecos-linux/../hal/common/v1_2_1/tests/intr.c
i686-pc-linux-gnu-gcc -o /home/grante/ecos/ecos-1.2.1/packages/ecos-linux/install/tests/hal/intr hal_intr.o -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -ffunction-sections -fdata-sections -nostartfiles -nostdlib -Wl,--gc-sections -g -O2 -L/home/grante/ecos/ecos-1.2.1/packages/ecos-linux/install/lib -Ttarget.ld -nostdlib
/usr/local/i686-pc-linux-gnu/bin/ld: warning: no memory region specified for section `.bss4'
/usr/local/i686-pc-linux-gnu/bin/ld: warning: no memory region specified for section `.bss5'
/usr/local/i686-pc-linux-gnu/bin/ld: section .bss4 [00000000 -> 0000000b] overlaps section .text [00000000 -> 00003383]
/usr/local/i686-pc-linux-gnu/bin/ld: section .bss5 [0000000c -> 0000000f] overlaps section .text [00000000 -> 00003383]
collect2: ld returned 1 exit status
make[1]: *** [intr.stamp] Error 1
make[1]: Leaving directory `/home/grante/ecos/ecos-1.2.1/packages/ecos-linux/hal/common/v1_2_1/tests'
make: *** [tests] Error 2
---------------------------------------------------------------------------
And the contents of target.ld are:
---------------------------------------------------------------------------
STARTUP(vectors.o)
ENTRY(_start)
INPUT(extras.o)
GROUP(libtarget.a libgcc.a)
MEMORY
{
ram : ORIGIN = 0x00000000, LENGTH = 0x800000
}
SECTIONS
{
.vectors 0x0 : { . = . ; KEEP(*(.vectors)) } > ram
.text ALIGN (0x4) : { _stext = .; *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) } > ram _etext = .; PROVIDE (etext = .);
.fini ALIGN (0x4) : { . = . ; *(.fini) } > ram
.rodata1 ALIGN (0x8) : { . = . ; *(.rodata1) } > ram
.rodata ALIGN (0x8) : { . = . ; *(.rodata*) } > ram
.fixup ALIGN (0x4) : { _FIXUP_START_ = ABSOLUTE(.); *(.fixup) _FIXUP_END_ = ABSOLUTE(.);} > ram
.gcc_except_table ALIGN (0x1) : { _EXCEPT_START_ = ABSOLUTE(.); *(.gcc_except_table) _EXCEPT_END_ = ABSOLUTE(.);} > ram
.data ALIGN (0x8) : { __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(8); __DEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.devtab*))) __DEVTAB_END__ = ABSOLUTE (.); _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
. = ALIGN(4); _end = .; PROVIDE (end = .);
}
---------------------------------------------------------------------------