[Bug 1652] gcc 4.5.1 has new issue

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Fri Aug 6 02:36:49 CDT 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1652

--- Comment #3 from Ralf Corsepius <ralf.corsepius at rtems.org> 2010-08-06 02:36:47 CDT ---
(In reply to comment #2)
> Apparently this only impacts the powerpc 8xx BSPs.  Please build with
> all tests enabled.  
> 
> $ grep -l "section type conflict" log/*
> log/powerpc-mbx821_001.log
> log/powerpc-mbx821_002b.log
> log/powerpc-mbx821_002.log
> log/powerpc-mbx860_001b.log
> log/powerpc-mbx860_002.log
> log/powerpc-mbx860_005b.log
> log/powerpc-mbx860_1b.log
> 
> It may be a gcc bug left unresolved by the PR.  I have no idea.
I think the GCC bug and this bug probably are unrelated.

>  If you
> can confirm this,
I can reproduce the bug, have managed to find a very simple reproducer and a
work-around in RTEMS ;)

Reproducer:
-- snip --
int pipe (int __fildes[2] );

void Init( void )
{
  int fd[2] = {0};

  pipe( fd );
}

const int rtems_filesystem_mount_table_size = 1;
-- snip --

Save this as test.c and compile this with
powerpc-rtems4.11-gcc -msdata -c test.c -o test.o
or any other powerpc-rtems*-gcc

I tried 4.8-4.11, all expose this issue.
Without -msdata, this issue does not show up.


A work-around for RTEMS is simple:
Replace "int fd[2] = {0};" with "int fd[2] = {0,0};"
i.e. expand the initializer.

To me this reads as: This issue seems to be related to handling of
incomplete initializers when -msdata is being used.

For now, I am going to expand the initializers being used in psxpipe01.c, which
lets building succeed for me.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the rtems-bugs mailing list