#921 closed defect (wontfix)

Erroneus crti.o causes the wrong code path to be taken

Reported by: holm Owned by: Joel Sherrill
Priority: normal Milestone: 4.9
Component: tool Version: unknown
Severity: major Keywords:
Cc: bugs@…, holm@… Blocked By:


The SPARC version of rtems-gcc 3.2.3 builds with a faulty crti.o lib (located in lib/gcc-lib/sparc-rtems/3.2.3/). The issue occurs in both my attempt to a private build of the tool chain and the rtems sparc gcc rpm-distribution i.e. rtems-4.6-sparc-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm.

The problem is that the preamble of the init and fini have two saves, reviewing the gcc source (gcc/config/sparc/sol2-ci.asm), it is clear that the first save is not supposed to be there (the hashes are misinterpreted as comments instead of being run as preprocessor directives).

This results in the wrong code path being taken during initialisation and during clean-up, as the extra save will move result in the wrong return address when init / fini returns. This can potentially lead to corruption of data.


Host: P4, LINUX (Feodora Core 4), gcc32 (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)

Build sparc-rtems-gcc (with patches), with configuration according to the manual.

Change History (2)

comment:1 Changed on Mar 15, 2006 at 6:02:04 PM by Joel Sherrill

Status: assignedwaiting

comment:2 Changed on Aug 5, 2008 at 3:59:44 PM by Joel Sherrill

Milestone: 4.9
rep_platform: All
Resolution: wontfix
Status: assignedclosed

Very old against very old tools.

Note: See TracTickets for help on using tickets.