[armel] gnat-4.4 built from the linaro toolchain fails to build

Bug #608125 reported by Matthias Klose
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Won't Fix
Undecided
Unassigned
gnat-4.4 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Binary package hint: gnat-4.4

https://launchpad.net/ubuntu/+source/gnat-4.4/4.4.4-7ubuntu1/+build/1881487

gnatgcc -c -g -fkeep-inline-functions -gnatpg -gnata -gnatwns -nostdinc -I- -I. -Iada -I../../src/gcc/ada -I../../src/gcc/ada/gcc-interface ../../src/gcc/ada/uintp.adb -o ada/uintp.o
uintp.adb:242:22: expect type "Hnum" defined at line 91
make[5]: *** [ada/uintp.o] Error 1
make[5]: Leaving directory `/build/buildd/gnat-4.4-4.4.4/build/gcc'
make[4]: *** [all-stage1-gcc] Error 2
make[4]: Leaving directory `/build/buildd/gnat-4.4-4.4.4/build'
make[3]: *** [stage1-bubble] Error 2
make[3]: Leaving directory `/build/buildd/gnat-4.4-4.4.4/build'
make[2]: *** [bootstrap-lean] Error 2
make[2]: Leaving directory `/build/buildd/gnat-4.4-4.4.4/build'

Matthias Klose (doko)
Changed in gnat-4.4 (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Changed in gcc-linaro:
status: New → Confirmed
Revision history for this message
Ulrich Weigand (uweigand) wrote :

The error message is odd, since at this location the type "Hnum" *is* used.

Maybe this is actually a bug in the host Ada compiler used to build this, which appears to come from the gcc-snapshots package.

Revision history for this message
Ulrich Weigand (uweigand) wrote :

This actually has nothing to do with Linaro GCC, the problem is simply that a current mainline snapshot cannot compile an unmodified 4.4 branch Ada compiler.

On 2010-06-22, revision 161147 was checked into mainline GCC:
http://gcc.gnu.org/viewcvs?view=revision&revision=161147

This revision introduces a change to sem_res.adb (Make_Call_Into_Operator), which recognizes a certain type of semantically invalid construct in Ada source code that the compiler previously did not correctly diagnose.

Unfortunately, an instance of this invalid construct actually occurs in the Ada compiler sources themselves, which is now detected by the new compiler. Therefore, the above SVN revision also adds a fix to that instance, in file uintp.adb.

However, this latter fix was not backported to older compiler versions. Therefore, if you attempt to build a 4.4 Ada compiler today, using a current snapshot (post 2010-06-22) of mainline as the host compiler, build with fail with exactly this error message.

The fix should be to simply backport the uintp.adb fix from revision 161147 to the 4.4 tree. As this has nothing to do with Linaro as such, and is required even in the absence of the Linaro patch set, I'd suggest that this be done directly in the Ubuntu compiler.

Revision history for this message
Michael Hope (michaelh1) wrote :

I agree. Marking this as invalid against Linaro GCC. I'll pass this on to the Ubuntu toolchain maintainers so that they know.

Changed in gcc-linaro:
status: Confirmed → Won't Fix
Revision history for this message
Matthias Klose (doko) wrote :

now fixed in natty (gcc-4.4.5).

Changed in gnat-4.4 (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.