[Buildroot] ARM release compiler broken for mpg123.

Ulf Samuelsson ulf.samuelsson at atmel.com
Fri Jan 23 15:10:29 UTC 2009


Have been struggling with mpg123 last night.
There seems to be a bug in the release version
(gcc-4.3.2/bu-2-19/uclibc-0.9.30)
of the toolchain which creates a Segment violation.

Anyone else can build mpg123, maybe for another architecture?
I have found an upstream patch, which I will test
and apply if it seems to solve the problem.


Reproduce using:

$ arm-linux-uclibc-gcc -Os -funroll-all-loops layer2.c


layer2.c:
-----------------------------------------------

#define FAIL
//#define WORKAROUND

struct al_table 
{
#if defined(FAIL)
  short bits;
#endif
  short d;
};

int getd_val;
int xd1;



struct al_table *alloc2;


void getd(void)
{
getd_val = alloc2->d;
}

int main(void)
{
int d1;

#if defined(WORKAROUND)
getd();
d1 = getd_val;
#else
d1 = alloc2->d;
#endif

#if defined(FAIL)
if( (d1) < 0)         {
xd1 = d1;
}
#else
xd1 = d1;
#endif
}

---------------------------------------

BR
Ulf Samuelsson




More information about the buildroot mailing list