Notice: We have migrated to GitLab launching 2024-05-01 see here:

#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 03/15/06 at 18:02:04 by Joel Sherrill

Status: assignedwaiting

comment:2 Changed on 08/05/08 at 15:59:44 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.