[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian bug #673015 gprbuild: [hurd-i386] could not create $DIRECTORY//auto.cgpr



Cc: ing debian-ada to perhaps getting more eyes to hopefully find the
problems (and how to debug further)

On Wed, 2012-05-23 at 13:32 +0200, Svante Signell wrote:
> On Wed, 2012-05-23 at 12:58 +0200, Ludovic Brenta wrote:
> > Hello,
> > 
> > I remember the outstanding work you did porting GNAT to hurd-i386 and
> > I am wondering if you could have a look at this bug:
> > 
> > http://bugs.debian.org/673015
> > 
> > As noted in the bug report, this prevents several packages from
> > building on hurd-i386.
> > 
> > Unless you have an immediate idea why gprbuild should fail to create a
> > file, it might be necessary to run gprbuild in gdb.  Also, I think
> > the error reporting in gprbuild needs improvement.  I'll try to find
> > time to patch gprbuild to that effect.
> 
> Hello,
> 
> I know about this problem. It is a remaining issue with the port to
> GNU/Hurd. Just by running the gprbuild executable it segfaults.
> 
> Some more dummy functions has to be added for not yet implemented
> functionality in Hurd. I have debugged this in gdb, but not yet found
> where the problem is. It is probably in one of the three functions:
> s-osinte-gnu.adb, s-osinte-gnu.ads, s-taprop-gnu.ads

Correction: It is gprconfig that segfaults:

gprconfig without arguments segfaults
gprconfig --help does not

Attached is a gdb backtrace. Maybe you can see something from there.

Undefined command: "srt".  Try "help".
No symbol "pager" in current context.
No symbol "paging" in current context.
Evaluate expression EXP and assign result to variable VAR, using assignment
syntax appropriate for the current language (VAR = EXP or VAR := EXP for
example).  VAR may be a debugger "convenience" variable (names starting
with $), a register (a few standard names starting with $), or an actual
variable in the program being debugged.  EXP is any valid expression.
Use "set variable" for variables with names identical to set subcommands.

With a subcommand, this command modifies parts of the gdb environment.
You can see these environment settings with the "show" command.

List of set subcommands:

set ada -- Prefix command for changing Ada-specfic settings
set annotate -- Set annotation_level
set architecture -- Set architecture of target
set args -- Set argument list to give program being debugged when it is started
set auto-load-scripts -- Set the debugger's behaviour regarding auto-loaded scripts
set auto-solib-add -- Set autoloading of shared library symbols
set backtrace -- Set backtrace specific variables
set basenames-may-differ -- Set whether a source file may have multiple base names
set breakpoint -- Breakpoint specific settings
set can-use-hw-watchpoints -- Set debugger's willingness to use watchpoint hardware
set case-sensitive -- Set case sensitivity in name search
set charset -- Set the host and target character sets
set check -- Set the status of the type/range checker
set circular-trace-buffer -- Set target's use of circular trace buffer
set coerce-float-to-double -- Set coercion of floats to doubles when calling functions
set complaints -- Set max number of complaints about incorrect symbols
set confirm -- Set whether to confirm potentially dangerous operations
set cp-abi -- Set the ABI used for inspecting C++ objects
set data-directory -- Set GDB's data directory
set dcache -- Use this command to set number of lines in dcache and line-size
set debug -- Generic command for setting gdb debugging flags
set debug-file-directory -- Set the directories where separate debug symbols are searched for
set debugvarobj -- Set varobj debugging
set default-collect -- Set the list of expressions to collect by default
set demangle-style -- Set the current C++ demangling style
set detach-on-fork -- Set whether gdb will detach the child of a fork
set directories -- Set the search path for finding source files
set disable-randomization -- Set disabling of debuggee's virtual address space randomization
set disassemble-next-line -- Set whether to disassemble next source line or insn when execution stops
set disassembly-flavor -- Set the disassembly flavor
set disconnected-tracing -- Set whether tracing continues after GDB disconnects
set displaced-stepping -- Set debugger's willingness to use displaced stepping
set editing -- Set editing of command lines as they are typed
set endian -- Set endianness of target
set environment -- Set environment variable value to give the program
set exceptions -- Set whether exceptions in the inferior process will be trapped
set exec-direction -- Set direction of execution
set exec-done-display -- Set notification of completion for asynchronous execution commands
set exec-wrapper -- Set a wrapper for running programs
set extended-prompt -- Set the extended prompt
set extension-language -- Set mapping between filename extension and source language
set follow-exec-mode -- Set debugger response to a program call of exec
set follow-fork-mode -- Set debugger response to a program call of fork or vfork
set gnutarget -- Set the current BFD target
set height -- Set number of lines gdb thinks are in a page
set history -- Generic command for setting command history parameters
set host-charset -- Set the host character set
set inferior-tty -- Set terminal for future runs of program being debugged
set input-radix -- Set default input radix for entering numbers
set interactive-mode -- Set whether GDB's standard input is a terminal
set language -- Set the current source language
set listsize -- Set number of source lines gdb will list by default
set logging -- Set logging options
set max-user-call-depth -- Set the max call depth for user-defined commands
set may-insert-breakpoints -- Set permission to insert breakpoints in the target
set may-insert-fast-tracepoints -- Set permission to insert fast tracepoints in the target
set may-insert-tracepoints -- Set permission to insert tracepoints in the target
set may-interrupt -- Set permission to interrupt or signal the target
set may-write-memory -- Set permission to write into target memory
set may-write-registers -- Set permission to write into registers
set mem -- Memory regions settings
set multiple-symbols -- Set the debugger behavior when more than one symbol are possible matches
set non-stop -- Set whether gdb controls the inferior in non-stop mode
set noninvasive -- Set task options so that we interfere as little as possible
set observer -- Set whether gdb controls the inferior in observer mode
set opaque-type-resolution -- Set resolution of opaque struct/class/union types (if set before loading symbols)
set osabi -- Set OS ABI of target
set output-radix -- Set default output radix for printing of values
set overload-resolution -- Set overload resolution in evaluating C++ functions
set pagination -- Set state of pagination
set print -- Generic command for setting how things print
set prompt -- Set gdb's prompt
set python -- Prefix command for python preference settings
set radix -- Set default input and output number radices
set record -- Set record options
set remote -- Remote protocol specific variables
set remoteaddresssize -- Set the maximum size of the address (in bits) in a memory packet
set remotebaud -- Set baud rate for remote serial I/O
set remotebreak -- Set whether to send break if interrupted
set remotecache -- Set cache use for remote targets
set remoteflow -- Set use of hardware flow control for remote serial I/O
set remotelogbase -- Set numerical base for remote session logging
set remotelogfile -- Set filename for remote session recording
set remotetimeout -- Set timeout limit to wait for target to respond
set remotewritesize -- Set the maximum number of bytes per memory write packet (deprecated)
set schedule-multiple -- Set mode for resuming threads of all processes
set scheduler-locking -- Set mode for locking scheduler during execution
set script-extension -- Set mode for script filename extension recognition
set serial -- Set default serial/parallel port configuration
set signal-thread -- Set the thread that gdb thinks is the libc signal thread
set signals -- Set whether the inferior process's signals will be intercepted
set solib-absolute-prefix -- Set an alternate system root
set solib-search-path -- Set the search path for loading non-absolute shared library symbol files
set stack-cache -- Set cache use for stack access
set step-mode -- Set mode of the step operation
set stop-on-solib-events -- Set stopping for shared library events
set stopped -- Set whether gdb thinks the inferior process is stopped as with SIGSTOP
set struct-convention -- Set the convention for returning small structs
set substitute-path -- Usage: set substitute-path FROM TO
set symbol-reloading -- Set dynamic symbol table reloading multiple times in one run
set sysroot -- Set an alternate system root
set target-async -- Set whether gdb controls the inferior in asynchronous mode
set target-charset -- Set the target character set
set target-file-system-kind -- Set assumed file system kind for target reported file names
set target-wide-charset -- Set the target wide character set
set task -- Command prefix for setting task attributes
set tcp -- TCP protocol specific variables
set tdesc -- Set target description specific variables
set thread -- Command prefix for setting thread properties
set trace-commands -- Set tracing of GDB CLI commands
set trace-notes -- Set notes string to use for current and future trace runs
set trace-stop-notes -- Set notes string to use for future tstop commands
set trace-user -- Set the user name to use for current and future trace runs
set trust-readonly-sections -- Set mode for reading from readonly sections
set tui -- TUI configuration variables
set unwind-on-terminating-exception -- Set unwinding of stack if std::terminate is called while in call dummy
set unwindonsignal -- Set unwinding of stack if a signal is received while in a call dummy
set variable -- Evaluate expression EXP and assign result to variable VAR
set verbose -- Set verbosity
set watchdog -- Set watchdog timer
set width -- Set number of characters gdb thinks are in a line
set write -- Set writing into executable and core files

Type "help set" followed by set subcommand name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
Undefined command: "pager".  Try "help".
#0  0x015034a9 in __gnat_backtrace (array=0x15a2350, size=50, exclude_min=0x1384df4, 
    exclude_max=0x1387079, skip_frames=<optimized out>) at tracebak.c:494
        current = 0x159fa48
        top_frame = 0x10234b8
        top_stack = 0x10233ff
        cnt = <optimized out>
#1  0x014f388e in system.traceback.call_chain (traceback=
    (const system__address) 0x15a2350, max_len=50, exclude_min=
    (const system__address) 0x1384df4, exclude_max=(const system__address) 0x1387079, 
    skip_frames=3) at s-traceb.adb:86
        len = 1
#2  0x01384e61 in ada.exceptions.call_chain (excep=0x15a2274) at a-excach.adb:65
No locals.
#3  0x013845c1 in ada.exceptions.exception_propagation.propagate_exception (e=0x818b520, 
    from_signal_handler=false) at a-exexpr.adb:579
        excep = 0x15a2274
        gcc_exception = 0x84aee00
#4  0x013852f5 in <__gnat_raise_nodefer_with_msg> (e=0x818b520) at a-except.adb:859
        access_to_e = 0x10234c0
        id = 0x818b520
#5  0x013857d0 in ada.exceptions.raise_with_location_and_msg (e=0x818b520, f=
    (const system__address) 0x1525551, l=61, c=0, m=(const system__address) 0x1506fbe)
    at a-except.adb:1022
No locals.
#6  0x013852b3 in <__gnat_raise_constraint_error_msg> (file=
    (const system__address) 0x1525551, line=61, column=0, msg=
    (const system__address) 0x1506fbe) at a-except.adb:823
No locals.
#7  0x01385a71 in <__gnat_rcheck_04> (file=(const system__address) 0x1525551, line=61)
    at a-except.adb:1084
No locals.
#8  0x014f5119 in system.val_int.scan_integer (str=..., ptr=0x10235cc, max=2, <ptrL>=2)
    at s-valint.adb:61
        minus = <optimized out>
        start = <optimized out>
#9  0x014f517b in system.val_int.value_integer (str=...) at s-valint.adb:95
        v = <optimized out>
        p = 1
#10 0x080c6be6 in gprconfig.knowledge.parse_knowledge_base.parse_compiler_description (
    base=..., file=..., description=0x84b9690)
    at /home/srs/DEBs/gnat-4.6/gprbuild/gprbuild-2011/src/gprconfig-knowledge.adb:682
        <gprconfig__knowledge__parse_knowledge_base__parse_compiler_description__B_9__TTprefixSP1___L> = 1
        <gprconfig__knowledge__parse_knowledge_base__parse_compiler_description__B_9__TTprefixSP1___U> = 1
        <gprconfig__knowledge__parse_knowledge_base__parse_compiler_description__B_9__TTvalSP1___L> = <optimized out>
        <gprconfig__knowledge__parse_knowledge_base__parse_compiler_description__B_9__TTvalSP1___U> = <optimized out>
        val = <error reading variable val (Cannot access memory at address 0xffffffff)>
        prefix = <error reading variable prefix (Cannot access memory at address 0xffffffff)>
        compiler = {_controller = {_parent = {_parent = {_parent = {_tag = 0x1595f14}, 
                prev = 0x0, next = 0x0}, f = 0x1023714}, my_address = 16922192}, 
          name = 300000260, executable = 300000301, executable_re = 0x0, 
          prefix_index = -1, target = {_parent = {_parent = {_parent = {_tag = 0x8138734}, 
                prev = 0x0, next = 0x0}}, first = 0x0, last = 0x0, length = 0, busy = 0, 
            lock = 0}, version = {_parent = {_parent = {_parent = {_tag = 0x8138734}, 
                prev = 0x0, next = 0x1023674}}, first = 0x0, last = 0x0, length = 0, 
            busy = 0, lock = 0}, variables = {_parent = {_parent = {_parent = {
                  _tag = 0x8138734}, prev = 0x0, next = 0x1023694}}, first = 0x0, 
            last = 0x0, length = 0, busy = 0, lock = 0}, languages = {_parent = {
              _parent = {_parent = {_tag = 0x8138734}, prev = 0x0, next = 0x10236b4}}, 
            first = 0x0, last = 0x0, length = 0, busy = 0, lock = 0}, runtimes = {
            _parent = {_parent = {_parent = {_tag = 0x8138734}, prev = 0x0, 
                next = 0x10236d4}}, first = 0x0, last = 0x0, length = 0, busy = 0, 
            lock = 0}, default_runtimes = {_parent = {_parent = {_parent = {
                  _tag = 0x8138934}, prev = 0x0, next = 0x10236f4}}, first = 0x0, 
            last = 0x0, length = 0, busy = 0, lock = 0}}
        n = 0x84b9878
        lang = {_parent = {_parent = {_parent = {_tag = 0x8137934}, prev = 0x0, 
              next = 0x1023650}}, first = 0x0, last = 0x0, length = 0, busy = 0, lock = 0}
#11 0x080c82a5 in gprconfig.knowledge.parse_knowledge_base (base=..., directory=..., 
    parse_compiler_info=true)
    at /home/srs/DEBs/gnat-4.6/gprbuild/gprbuild-2011/src/gprconfig-knowledge.adb:1026
        search = {_parent = {_parent = {_parent = {_tag = 0x1593714}, prev = 0x0, 
              next = 0x0}}, value = 0x84ab420}
        file = {_controller = {_parent = {_parent = {_parent = {_tag = 0x1595f14}, 
                prev = 0x0, next = 0x1024760}, f = 0x1024704}, my_address = 16926420}, 
          is_valid = true, simple = {_parent = {_parent = {_parent = {_tag = 0x818b3d4}, 
                prev = 0x0, next = 0x0}}, reference = {P_ARRAY = 0x84b59f0, 
              P_BOUNDS = 0x84b59e8}, last = 13}, full = {_parent = {_parent = {_parent = {
                  _tag = 0x818b3d4}, prev = 0x0, next = 0x10246ec}}, reference = {
              P_ARRAY = 0x84b52a0, P_BOUNDS = 0x84b5298}, last = 34}, 
          kind = ada__directories__ordinary_file}
        file_node = <optimized out>
        n = 0x84b9690
        reader = {_parent = {_parent = {_tag = 0x1282f14, _controller = {_parent = {
                  _parent = {_parent = {_tag = 0x1595f14}, prev = 0x0, next = 0x10246d4}, 
                  f = 0x10238e4}, my_address = 16922784}, buffer_length = 0, buffer = {
                P_ARRAY = 0x0, P_BOUNDS = 0x0}, attributes = {count = 0, list = {
                  P_ARRAY = 0x0, P_BOUNDS = 0x0}}, locator = 0x0, current_node = 0x0, 
              public_id = {P_ARRAY = 0x84b52d0, P_BOUNDS = 0x84b52c8}, system_id = {
                P_ARRAY = 0x84b52d0, P_BOUNDS = 0x84b52c8}, symbols = {_parent = {
                  _parent = {_parent = {_tag = 0x1284134}, prev = 0x0, next = 0x0}}, 
                data = 0x1a3e008}, lt_sequence = {P_ARRAY = 0x84ab4c8, 
                P_BOUNDS = 0x84ab4c0}, gt_sequence = {P_ARRAY = 0x84ab5b0, 
                P_BOUNDS = 0x84ab5a8}, amp_sequence = {P_ARRAY = 0x84ab5c0, 
                P_BOUNDS = 0x84ab5b8}, apos_sequence = {P_ARRAY = 0x84ab5d0, 
                P_BOUNDS = 0x84ab5c8}, quot_sequence = {P_ARRAY = 0x84ab5e0, 
                P_BOUNDS = 0x84ab5d8}, xmlns_sequence = {P_ARRAY = 0x84ab5f0, 
                P_BOUNDS = 0x84ab5e8}, namespaces_uri_sequence = {P_ARRAY = 0x84ab638, 
                P_BOUNDS = 0x84ab630}, xml_sequence = {P_ARRAY = 0x84ab608, 
                P_BOUNDS = 0x84ab600}, symbol_percent = {P_ARRAY = 0x84ab618, 
                P_BOUNDS = 0x84ab610}, symbol_ampersand = {P_ARRAY = 0x84ab628, 
                P_BOUNDS = 0x84ab620}, inputs = 0x0, close_inputs = 0x0, default_atts = {
                size = 50, table = {{elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}, {elem = {element_name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, attributes = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
                    next = 0x0, set = false}}}, notations = {size = 50, table = {{elem = {
                      name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = true}, 
                    next = 0x0, set = false}, {elem = {name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, declaration_seen = false}, next = 0x0, 
                    set = false}, {elem = {name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, 
                      declaration_seen = 177}, next = 0x0, set = false}, {elem = {name = {
                        P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = false}, 
                    next = 0x0, set = false} <repeats 38 times>, {elem = {name = {
                        P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = false}, 
                    next = 0x0, set = false}, {elem = {name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, declaration_seen = false}, next = 0x0, 
                    set = false}, {elem = {name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, 
                      declaration_seen = false}, next = 0x0, set = false}, {elem = {
                      name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = false}, 
                    next = 0x0, set = false}, {elem = {name = {P_ARRAY = 0x0, 
                        P_BOUNDS = 0x0}, declaration_seen = 19}, next = 0x0, set = false}, 
                  {elem = {name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, 
                      declaration_seen = 191}, next = 0x0, set = false}, {elem = {name = {
                        P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = 4}, next = 0x0, 
                    set = false}, {elem = {name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, 
                      declaration_seen = 135}, next = 0x0, set = false}, {elem = {name = {
                        P_ARRAY = 0x0, P_BOUNDS = 0x0}, declaration_seen = false}, 
                    next = 0x0, set = false}}}, entities = {size = 50, table = {{
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}, {
                    elem = 0x0, next = 0x0, set = false}, {elem = 0x0, next = 0x0, 
                    set = false}, {elem = 0x0, next = 0x0, set = false}, {elem = 0x0, 
                    next = 0x0, set = false}, {elem = 0x0, next = 0x0, set = false}}}, 
              dtd_name = {P_ARRAY = 0x0, P_BOUNDS = 0x0}, default_namespaces = 0x0, 
              num_toplevel_elements = 1, element_id = 0, hooks = {data = 0x0, 
                start_element = 0, end_element = 0, characters = 0, whitespace = 0, 
                doc_locator = 0, notation_decl = 0}, 
              xml_version = sax__utils__xml_1_0_fifth_edition, 
              standalone_document = false, last_read = 65535, last_read_is_valid = false, 
              state = {name = "Def", ignore_special = false, detect_end_of_pi = false, 
                greater_special = false, less_special = false, 
                expand_param_entities = false, expand_entities = true, 
                report_character_ref = false, expand_character_ref = true, in_dtd = false, 
                recognize_external = false, in_attlist = false, handle_strings = false, 
                in_tag = false, report_parenthesis = false}, in_external_entity = false, 
              previous_char_was_cr = false, ignore_state_special = false, 
              basename_in_messages = false, feature_namespace = true, 
              feature_namespace_prefixes = false, 
              feature_external_general_entities = true, 
              feature_external_parameter_entities = true, feature_validation = false, 
              feature_test_valid_chars = false, feature_schema_validation = true}}, 
          tree = 0x84abab0, current_node = 0x84abab0, internal_encoding = {bom = 67, 
            read = 0, width = 0, encode = 0, length = 0}, in_dtd = false, 
          warnings_as_error = false}
        input = {_parent = {_tag = 0x1283854, prolog_size = 0, es = {
              bom = unicode__ces__utf8_all, read = 0x116f600 <unicode__ces__utf8__read>, 
              width = 0x116fcb0 <unicode__ces__utf8__width>, 
              encode = 0x116fa80 <unicode__ces__utf8__encode>, 
              length = 0x116f970 <unicode__ces__utf8__length>}, cs = {
              to_unicode = 0x1212ad0 <unicode__ccs__identity>, 
              to_cs = 0x1212ad0 <unicode__ccs__identity>}, public_id = {P_ARRAY = 0x0, 
              P_BOUNDS = 0x0}, system_id = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}, 
          index = 2147483647, buffer = {P_ARRAY = 0x0, P_BOUNDS = 0x0}}
#12 0x08082911 in gprconfig.main ()
    at /home/srs/DEBs/gnat-4.6/gprbuild/gprbuild-2011/src/gprconfig-main.adb:427
        load_standard_base = true
        show_targets = false
        show_compilers = false
        gprbuild = {F = "gprbuild"}
        batch = false
        target_specified = false
        filters = {_parent = {_parent = {_parent = {_tag = 0x8138d14}, prev = 0x0, 
              next = 0x10249d4}}, first = 0x0, last = 0x0, length = 0, busy = 0, lock = 0}
        gprbuild_path = {P_ARRAY = 0x84ab301, P_BOUNDS = 0xa}
        compilers = {_parent = {_parent = {_parent = {_tag = 0x8138d14}, prev = 0x0, 
              next = 0x1024cc4}}, first = 0x0, last = 0x0, length = 0, busy = 0, lock = 0}
        valid_switches = "-batch -config= -db: h o: v q -show-targets -mi-show-compilers -target="
        output_file = {_parent = {_parent = {_parent = {_tag = 0x818b3d4}, prev = 0x0, 
              next = 0x0}}, reference = {P_ARRAY = 0x84ab3c8, P_BOUNDS = 0x84ab3c0}, 
          last = 27}
        selected_target = {_parent = {_parent = {_parent = {_tag = 0x818b3d4}, prev = 0x0, 
              next = 0x10249bc}}, reference = {P_ARRAY = 0x84ab390, P_BOUNDS = 0x84ab388}, 
          last = 8}
        base = {_controller = {_parent = {_parent = {_parent = {_tag = 0x1595f14}, 
                prev = 0x0, next = 0x1024a6c}, f = 0x1024a50}, my_address = 16927188}, 
          compilers = {_parent = {_parent = {_parent = {_tag = 0x81384f4}, prev = 0x0, 
                next = 0x0}}, ht = {_tag = 0x8138638, buckets = {P_ARRAY = 0x84ad698, 
                P_BOUNDS = 0x84ad690}, length = 8, busy = 0, lock = 0}}, no_compilers = {
            _parent = {_parent = {_parent = {_tag = 0x8138934}, prev = 0x0, 
                next = 0x10249e8}}, first = 0x84b0de0, last = 0x84b0de0, length = 1, 
            busy = 0, lock = 0}, check_executable_regexp = true, configurations = {
            _parent = {_parent = {_parent = {_tag = 0x81380d4}, prev = 0x0, 
                next = 0x1024a0c}}, first = 0x84ac228, last = 0x84ad428, length = 11, 
            busy = 0, lock = 0}, targets_sets = {_parent = {_parent = {_parent = {
                  _tag = 0x8137d94}, prev = 0x0, next = 0x1024a30}}, elements = 0x0, 
            last = 0, busy = 0, lock = 0}}
        selected_targets_set = 22884244

Reply to: