Skip to contentSkip to conversation

fix compilation issue in arm cortex a8

RFC PATCH New Michael Trimarchi 2 participants 4 messages Jan 5, 2010 – Jan 8, 2010

lore
Share & tools
lore
#1 lore raw

RFC PATCH 1/1 fix compilation issue in arm cortex a8

Quoted 10 lines · Michael Trimarchi

Hi,

this patch fix the compilation issue. Step to reproduce:

add CONFIG_YAFFS2 in overo defconfig and compile u-boot

Regards
Michael

This is not an OMAP specific problem.
This problem will happen on all ARM platforms.

It would be better to understand why these unwind calls are being made and to just not do them.

As this is an eabi problem.
Adding

void *__exidx_start;
void *__exidx_end;

To eabi_compat.c also "fixes" the link problem.
This may be a better place for the change than all the linker scripts

In general cases where libgcc is problem, you can build with

USE_PRIVATE_LIBGCC=yes

Trying this unfortunately has another link problem

fs/yaffs2/libyaffs2.a(yaffscfg.o): In function `yaffs_StartUp':
fs/yaffs2/yaffscfg.c:185: undefined reference to `__aeabi_uldivmod'

This function could be added to lib_arm/_udivsi3.S or a new file if you feel it is appropriate.

Tom

#2 lore raw

RFC PATCH 1/1 fix compilation issue in arm cortex a8

Quoted 32 lines · Tom
Quoted 10 lines · Michael Trimarchi

Hi,

this patch fix the compilation issue. Step to reproduce:

add CONFIG_YAFFS2 in overo defconfig and compile u-boot

Regards
Michael

This is not an OMAP specific problem.
This problem will happen on all ARM platforms.

It would be better to understand why these unwind calls are being made and
to just not do them.

As this is an eabi problem.
Adding

void *__exidx_start;
void *__exidx_end;

To eabi_compat.c also "fixes" the link problem.
This may be a better place for the change than all the linker scripts

In general cases where libgcc is problem, you can build with

USE_PRIVATE_LIBGCC=yes

Quoted 8 lines

Trying this unfortunately has another link problem

fs/yaffs2/libyaffs2.a(yaffscfg.o): In function `yaffs_StartUp':
fs/yaffs2/yaffscfg.c:185: undefined reference to `__aeabi_uldivmod'

This function could be added to lib_arm/_udivsi3.S or a new file if you feel it is appropriate.

Ok,
I'm going to provide a better patch.

Quoted 2 lines

Tom

Best regards
Michael Trimarchi

Quoted 4 lines
#3 lore raw

RFC PATCH 1/1 fix compilation issue in arm cortex a8

In reply to Tom
Quoted 32 lines · Tom
Quoted 10 lines · Michael Trimarchi

Hi,

this patch fix the compilation issue. Step to reproduce:

add CONFIG_YAFFS2 in overo defconfig and compile u-boot

Regards
Michael

This is not an OMAP specific problem.
This problem will happen on all ARM platforms.

It would be better to understand why these unwind calls are being made and
to just not do them.

As this is an eabi problem.
Adding

void *__exidx_start;
void *__exidx_end;

To eabi_compat.c also "fixes" the link problem.
This may be a better place for the change than all the linker scripts

In general cases where libgcc is problem, you can build with

USE_PRIVATE_LIBGCC=yes

Quoted 7 lines

Trying this unfortunately has another link problem

fs/yaffs2/libyaffs2.a(yaffscfg.o): In function `yaffs_StartUp':
fs/yaffs2/yaffscfg.c:185: undefined reference to `__aeabi_uldivmod'

This function could be added to lib_arm/_udivsi3.S or a new file if you feel it is appropriate.

The problem is only releated to yaffs2 so I propose to use the do_div in that code
when the division is releated to mtd->size / <some> and add the two function in eabi file

Michael

Quoted 7 lines

Tom