[ECOS] Building for thumb on EB40A

kross@elands.co.nz kross@elands.co.nz
Tue Apr 19 04:13:00 GMT 2005


Hi,

Ok, you win, I don't know what to do now.

When ticking the thumb option vectors.S won't compile (from a standard EB40A
template). It seem that typedef is a bad instruction (assume that it is a bad asm
instruction). But what do I do about it. I should have to change any file in ecos
(should I?). I presume some contributor compiled for thumb and it worked(?). I
have try to play round with the source but don't get anywhere useful.

The  ... below is my ecos-work directory delete to make lines smaller.

Looking forward to you comments.

Regards,
Keith

ecos update by cvs 050407 and gcc tool chain was compiled from gcc 3.2.1 

make -r -C hal/arm/arch/current /ecos-c/..._install/lib/vectors.o
make[1]: Entering directory `/ecos-c/..._build/hal/arm/arch/current'
arm-elf-gcc -Wp,-MD,vectors.tmp  -I/ecos-c/..._install/include
-I/ecos-c/ecos/ecos_cvs_050407/packages/hal/arm/arch/current
-I/ecos-c/ecos/ecos_cvs_050407/packages/hal/arm/arch/current/src
-I/ecos-c/ecos/ecos_cvs_050407/packages/hal/arm/arch/current/tests -I.
-finline-limit=7000 -mthumb -mthumb-interwork -mcpu=arm7tdmi
-mno-short-load-words -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions   -c -o /ecos-c/..._install/lib/vectors.o
/ecos-c/ecos/ecos_cvs_050407/packages/hal/arm/arch/current/src/vectors.S
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stddef.h:
Assembler messages:
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stddef.h:147:
Error: bad instruction `typedef long int ptrdiff_t'
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stddef.h:201:
Error: bad instruction `typedef long unsigned int size_t'
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stddef.h:294:
Error: bad instruction `typedef int wchar_t'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:160: Error: bad instruction
`typedef int bool'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:202: Error: bad instruction
`typedef unsigned char cyg_uint8'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:203: Error: bad instruction
`typedef signed char cyg_int8'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:205: Error: bad instruction
`typedef unsigned short cyg_uint16'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:206: Error: bad instruction
`typedef signed short cyg_int16'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:208: Error: bad instruction
`typedef unsigned int cyg_uint32'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:209: Error: bad instruction
`typedef signed int cyg_int32'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:211: Error: bad instruction
`typedef unsigned long long cyg_uint64'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:212: Error: bad instruction
`typedef signed long long cyg_int64'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:214: Error: bad instruction
`typedef int cyg_bool'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:221: Error: bad instruction
`typedef unsigned int cyg_ucount8'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:222: Error: bad instruction
`typedef signed int cyg_count8'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:224: Error: bad instruction
`typedef unsigned int cyg_ucount16'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:225: Error: bad instruction
`typedef signed int cyg_count16'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:227: Error: bad instruction
`typedef unsigned int cyg_ucount32'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:228: Error: bad instruction
`typedef signed int cyg_count32'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:230: Error: bad instruction
`typedef unsigned long long cyg_ucount64'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:231: Error: bad instruction
`typedef signed long long cyg_count64'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:238: Error: bad instruction
`typedef volatile unsigned char cyg_atomic'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:239: Error: bad instruction
`typedef volatile unsigned char CYG_ATOMIC'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:244: Error: bad instruction
`typedef cyg_uint32 CYG_WORD'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:245: Error: bad instruction
`typedef cyg_uint8 CYG_BYTE'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:246: Error: bad instruction
`typedef cyg_uint16 CYG_WORD16'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:247: Error: bad instruction
`typedef cyg_uint32 CYG_WORD32'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:248: Error: bad instruction
`typedef cyg_uint64 CYG_WORD64'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:250: Error: bad instruction
`typedef cyg_uint32 CYG_ADDRESS'
/ecos-c/..._install/include/cyg/infra/cyg_type.h:251: Error: bad instruction
`typedef cyg_uint32 CYG_ADDRWORD'
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stdarg.h:43:
Error: bad instruction `typedef __builtin_va_list __gnuc_va_list'
/ecos-c/ecos/gnutools/arm-elf/lib/gcc-lib/arm-elf/3.2.1/include/stdarg.h:110:
Error: bad instruction `typedef __gnuc_va_list va_list'
/ecos-c/..._install/include/cyg/infra/diag.h:65: Error: bad instruction `extern
void diag_init(void)'
/ecos-c/..._install/include/cyg/infra/diag.h:67: Error: bad instruction `extern
void diag_write_char(char c)'
/ecos-c/..._install/include/cyg/infra/diag.h:69: Error: bad instruction `extern
void diag_write_string(const char*psz)'
/ecos-c/..._install/include/cyg/infra/diag.h:71: Error: bad instruction `extern
void diag_write_dec(cyg_int32 n)'
/ecos-c/..._install/include/cyg/infra/diag.h:73: Error: bad instruction `extern
void diag_write_hex(cyg_uint32 n)'
/ecos-c/..._install/include/cyg/infra/diag.h:75: Error: bad instruction `extern
void diag_dump_buf(void*buf,CYG_ADDRWORD len)'
/ecos-c/..._install/include/cyg/infra/diag.h:76: Error: bad instruction `extern
void diag_dump_buf_32bit(void*buf,CYG_ADDRWORD len)'
/ecos-c/..._install/include/cyg/infra/diag.h:77: Error: bad instruction `extern
void diag_dump_buf_16bit(void*buf,CYG_ADDRWORD len)'
/ecos-c/..._install/include/cyg/infra/diag.h:78: Error: bad instruction `typedef
int __printf_fun(const char*fmt,...)'
/ecos-c/..._install/include/cyg/infra/diag.h:79: Error: bad instruction `extern
void diag_vdump_buf_with_offset(__printf_fun*pf,'
/ecos-c/..._install/include/cyg/infra/diag.h:80: Error: bad instruction
`cyg_uint8 *p,'
/ecos-c/..._install/include/cyg/infra/diag.h:81: Error: bad instruction
`cyg_addrword s,'
/ecos-c/..._install/include/cyg/infra/diag.h:82: Error: bad instruction
`cyg_uint8 *base)'
/ecos-c/..._install/include/cyg/infra/diag.h:83: Error: bad instruction `extern
void diag_dump_buf_with_offset(cyg_uint8*p,'
/ecos-c/..._install/include/cyg/infra/diag.h:84: Error: bad instruction
`cyg_addrword s,'
/ecos-c/..._install/include/cyg/infra/diag.h:85: Error: bad instruction
`cyg_uint8 *base)'
/ecos-c/..._install/include/cyg/infra/diag.h:87: Error: bad instruction `extern
void diag_dump_buf_with_offset_32bit(cyg_uint32*p,'
/ecos-c/..._install/include/cyg/infra/diag.h:88: Error: bad instruction
`cyg_addrword s,'
/ecos-c/..._install/include/cyg/infra/diag.h:89: Error: bad instruction
`cyg_uint32 *base)'
/ecos-c/..._install/include/cyg/infra/diag.h:91: Error: bad instruction `extern
void diag_dump_buf_with_offset_16bit(cyg_uint16*p,'
/ecos-c/..._install/include/cyg/infra/diag.h:92: Error: bad instruction
`cyg_addrword s,'
make[1]: Leaving directory `/ecos-c/..._build/hal/arm/arch/current'
/ecos-c/..._install/include/cyg/infra/diag.h:93: Error: bad instruction
`cyg_uint16 *base)'
/ecos-c/..._install/include/cyg/infra/diag.h:96: Error: bad instruction `extern
int diag_printf(const char*fmt,...)__attribute__((format(printf,1,2)))'
/ecos-c/..._install/include/cyg/infra/diag.h:98: Error: bad instruction `extern
void diag_init_putc(void(*putc)(char c,void**param))'
/ecos-c/..._install/include/cyg/infra/diag.h:99: Error: bad instruction `extern
int diag_sprintf(char*buf,const char*fmt,...)'
/ecos-c/..._install/include/cyg/infra/diag.h:100: Error: bad instruction
`__attribute__((format (printf,2,3)))'
/ecos-c/..._install/include/cyg/infra/diag.h:101: Error: bad instruction `extern
int diag_snprintf(char*buf,size_t len,const char*fmt,...)'
/ecos-c/..._install/include/cyg/infra/diag.h:102: Error: bad instruction
`__attribute__((format (printf,3,4)))'
/ecos-c/..._install/include/cyg/infra/diag.h:103: Error: bad instruction `extern
int diag_vsprintf(char*buf,const char*fmt,va_list ap)'
/ecos-c/..._install/include/cyg/infra/diag.h:104: Error: bad instruction
`__attribute__((format (printf,2,0)))'
/ecos-c/..._install/include/cyg/infra/diag.h:105: Error: bad instruction `extern
int diag_vprintf(const char*fmt,va_list ap)'
/ecos-c/..._install/include/cyg/infra/diag.h:106: Error: bad instruction
`__attribute__((format (printf,1,0)))'
make[1]: *** [/ecos-c/..._install/lib/vectors.o] Error 1
make: Leaving directory `/ecos-c/..._build'
make: *** [build] Error 2




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



More information about the Ecos-discuss mailing list