Weird behaviour with --target_board="unix{var1,var2}"
Jonathan Wakely
jwakely@redhat.com
Wed Aug 24 11:09:00 GMT 2016
On 23/08/16 12:05 +0100, Pedro Alves wrote:
>On 08/23/2016 10:54 AM, Jonathan Wakely wrote:
>
>>> That's being set by prettyprinters.exp and xmethods.exp (so it's GDB's
>>> fault! ;-)
>
>:-)
>
>> This seems to work. I'll do some more testing and commit later today.
>
>LGTM.
>
>Though IME, save/restoring globals in a constant source of trouble,
>for occasionally someone adds an early return that inadvertently
>skips the restore. Of course in gdb every test must be written
>using custom .exp code, so we're more prone to being bitten. Still...
>
>The way we solve that on gdb systematically is with convenience
>wrappers that handle the save/restore. E.g. see:
>
> $ grep "proc with_" *
> gdb.exp:proc with_test_prefix { prefix body } {
> gdb.exp:proc with_gdb_prompt { prompt body } {
> gdb.exp:proc with_target_charset { target_charset body } {
> gdb.exp:proc with_spawn_id { spawn_id body } {
> gdb.exp:proc with_timeout_factor { factor body } {
>
>In this particular case, I'd add a wrapper method to
>libstdc++-v3/testsuite/lib/gdb-test.exp, such as:
>
># Like dg-runtest but keep the .exe around. dg-test has an option for
># this but there is no way to pass it through dg-runtest.
>
>proc gdb-dg-runtest {args} {
> global dg-interpreter-batch-mode
> set saved-dg-interpreter-batch-mode ${dg-interpreter-batch-mode}
> set dg-interpreter-batch-mode 1
>
> eval dg-runtest $args
>
> set dg-interpreter-batch-mode ${saved-dg-interpreter-batch-mode}
>}
>
>And then use gdb-dg-runtest instead of dg-runtest in
>prettyprinters.exp and xmethods.exp.
That works nicely.
>(Maybe put even move more of the duplicate code around the
>current dg-runtest calls to the wrapper, and then give the
>wrapper named arguments.)
That didn't seem to make things simpler.
This is what I plan to commit.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 2976 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20160824/4939119b/attachment.bin>
More information about the Libstdc++
mailing list