[ECOS] 64 bit mips arch, and __DEVTAB__

Gary Thomas gthomas@redhat.com
Wed Jul 12 15:24:00 GMT 2000


On 12-Jul-2000 Chris Morrow wrote:
> I'm working on porting eCos to a 64 bit mips cpu and have encountered
> a problem with the DEVTAB_ENTRY macro defined in
> io/common/current/include/devtab.h. It would appear that gcc is aligning
> each piece of data added to the .devtab section on 8 byte boundries.
> This
> causes a space between entries and causes the loop in cyg_io_init() in
> io/commmon/current/iosys.c to fail.
> 
> Depending on whether it is legitimate to assume that there is no padding
> for data objects added separately to a section with the section
> __attribute__,
> this may be a compiler issue rather than a eCos issue.
> 

One concern [which we may have not thought about] is whether these data will
be properly aligned, even if the sizes match up.

Can you try adding the "aligned()" attribute to the devtab structure and see 
what happens?
  cyg_devtab_entry_t _l __attribute__ ((section(".devtab"),aligned(1)))



More information about the Ecos-discuss mailing list