The Constraint_Error is triggered when parsing the following node in
gprbuild's compilers.xml:
<compiler_description>
<name>GCC-28</name>
<executable>gcc</executable>
<version>
<external>gcc -v</external>
<grep regexp="^gcc \S+ (\S+)" group="1"></grep>
<must_match>2\.8\.</must_match>
</version>
<languages>C</languages>
<target>
<external>gcc -dumpmachine</external>
<grep regexp="[^\r\n]+"></grep>
</target>
</compiler_description>
which is the first node where <executable> lacks a "prefix="1""
attribute. There are other <executable> nodes lacking the prefix
attribute.
On amd64, gprconfig raises the same constraint_error but handles it and
does not report anything. Therefore this bug is a compiler bug similar
but not identical to #666106 (which is reported to occur only in the
presence of tasks).
I have found more instances of this bug in other places, which I have
corrected on org.debian.gprbuild. But now I've hit another wall, an
exception with this backtrace:
#0 0x0815ce93 in __gnat_backtrace ()
#1 0x081529c0 in system.traceback.call_chain ()
#2 0x08108bbb in ada.exceptions.call_chain ()
#3 0x08108fab in ada.exceptions.complete_occurrence ()
#4 0x08108fc8 in ada.exceptions.complete_and_propagate_occurrence ()
#5 0x08109018 in __gnat_raise_exception ()
#6 0x08132e19 in gnat.expect.expect ()
#7 0x08132f38 in gnat.expect.expect ()
#8 0x08132fc0 in gnat.expect.expect ()
#9 0x0813489e in gnat.expect.get_command_output ()
#10 0x080e5f55 in gprconfig.knowledge.get_external_value (attribute=...,
value=..., comp=..., split_into_words=false, merge_same_dirs=false,
processed_value=...)
at /home/lbrenta/gprbuild-2014/src/gprconfig-knowledge.adb:1774
#11 0x080e9e7e in gprconfig.knowledge.foreach_language_runtime (iterator=...,
base=..., name=300000258, executable=300000342, directory=...,
prefix=300000000, from_extra_dir=false,
on_target=24, descr=..., path_order=2, continue=true) at
/home/lbrenta/gprbuild-2014/src/gprconfig-knowledge.adb:2094
#12 0x080efa4c in gprconfig.knowledge.foreach_compiler_in_dir (iterator=...,
base=..., directory=..., from_extra_dir=false, on_target=24, path_order=2,
continue=true)
at /home/lbrenta/gprbuild-2014/src/gprconfig-knowledge.adb:2592
#13 0x080f11b3 in gprconfig.knowledge.foreach_compiler_in_path (iterator=...,
base=..., on_target=24, extra_dirs=...) at
/home/lbrenta/gprbuild-2014/src/gprconfig-knowledge.adb:2805
#14 0x0807ada1 in gprconfig.main () at
/home/lbrenta/gprbuild-2014/src/gprconfig-main.adb:490
and the command to run is "gcc -dumpversion".
Having reached the end of my available time for today, I'll leave it at
that for now.
--
Ludovic Brenta.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]