From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by server2.sourceware.org (Postfix) with ESMTPS id EEECF385F024 for ; Sun, 8 Mar 2020 12:50:26 +0000 (GMT) Received: by mail-wm1-x32c.google.com with SMTP id f7so2572846wml.4 for ; Sun, 08 Mar 2020 05:50:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=WQdvyBfrp1wpm0GjbJfatOjqGlZ+bo4My1B3vTicZYM=; b=QNAXfcvdeKxNVbUDGZo7yVGA/q3raYc2bAeklSAzHsGiW0Ra7vzOT/RLCJNC6EwUrG cO06bNp5OkyO0QQweaDXprhL84XVqovKy6VpEtoqU0BMdTw5+a2pWmvDjKCIXaK7uQcn ZZKhLUcUAkd4zs6zVEQpF2Buw0JZl2B8/fA/B6MFh6aJsAzUayDgARQDzFyfEWXKX8o/ aOi1LWj2Yx6monNsH8Buh5KJGaV89UXOzxPCT1dDtmyj8fwoJmtDLnB0+NNKoG5p+HPZ E/xQ+fJHATOw4HDA4uG+rC2woMNsTOjZFkb5/mtLXO+NrMylFgznINS/HMCWU0zrCxhW OHEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=WQdvyBfrp1wpm0GjbJfatOjqGlZ+bo4My1B3vTicZYM=; b=crXqTQ5S5qMYnFm3QjDiVMns6HdOzmHtyActTNOKIPVGmwwO6+FOnURVBoIhsx34LX u8m0CmKXWIesXsgk+gXYIaa7emdoR+cm50a+ISNYsdjmZivREUSb1CyLUjCeAGIGbnPJ xT7nQuFK/WsQG0YNEYGD4fzbPrClAmbjhakiq71lflaNbFFkQjXOYXkUHJEfliaii+oP KrcqcNqa5KGrCqG09j7xZn3TxFxx+/00UEb9JQV9HLct8rSO6MHkxFF8ya7y8h0VeGrH +guzMG2QJDL6GDRFeuZJGAjoOtuwCN7BbyPUoh5WHAV9br2bYGWin9Jtn+nudKJHj5tl o6NA== X-Gm-Message-State: ANhLgQ2fji8Wlm4AoUboKqmSpG/hXXCdJ8c4aVurTEODsBofZma8u//+ HWNY9tNuH+dskgOa02mU+fLqKfjaQw4= X-Google-Smtp-Source: ADFU+vvZiwVGHw47EOTH803ymox/roR6Er2kfLBzyrD+wQbhhl2Eu87adawN2P3xf87bxNfJ98JxIw== X-Received: by 2002:a7b:cbc6:: with SMTP id n6mr10404885wmi.144.1583671825874; Sun, 08 Mar 2020 05:50:25 -0700 (PDT) Received: from localhost (host86-180-62-221.range86-180.btcentralplus.com. [86.180.62.221]) by smtp.gmail.com with ESMTPSA id y139sm22049982wmd.24.2020.03.08.05.50.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 08 Mar 2020 05:50:25 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Bernd Edlinger , Andrew Burgess Subject: [PATCHv2 1/2] gdb/testsuite: Add is-stmt support to the DWARF compiler Date: Sun, 8 Mar 2020 12:50:15 +0000 Message-Id: X-Mailer: git-send-email 2.14.5 In-Reply-To: References: In-Reply-To: References: X-Spam-Status: No, score=-27.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2020 12:50:27 -0000 This commit adds the ability to set and toggle the DWARF line table is-stmt flag. A DWARF line table can now be created with the attribute 'default_is_stmt' like this: lines {version 2 default_is_stmt 0} label { ... } If 'default_is_stmt' is not specified then the current default is 1, which matches the existing behaviour. Inside the DWARF line table program you can now make use of {DW_LNS_negate_stmt} to toggle the is-stmt flag, for example this meaningless program: lines {version 2 default_is_stmt 0} label { include_dir "some_directory" file_name "some_filename" 1 program { {DW_LNS_negate_stmt} {DW_LNE_end_sequence} } } This new functionality will be used in a later commit. gdb/testsuite/ChangeLog: * lib/dwarf.exp (Dwarf::lines) Add support for modifying the is-stmt flag in the line table. Change-Id: Ia3f61d523826382dd2333f65b9aae368ad29c4a5 --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/dwarf.exp | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp index 6c6ffbe7c2f..417b22d2345 100644 --- a/gdb/testsuite/lib/dwarf.exp +++ b/gdb/testsuite/lib/dwarf.exp @@ -1311,12 +1311,14 @@ namespace eval Dwarf { set _unit_addr_size default set _line_saw_program 0 set _line_saw_file 0 + set _default_is_stmt 1 foreach { name value } $options { switch -exact -- $name { is_64 { set is_64 $value } version { set _unit_version $value } addr_size { set _unit_addr_size $value } + default_is_stmt { set _default_is_stmt $value } default { error "unknown option $name" } } } @@ -1363,7 +1365,7 @@ namespace eval Dwarf { define_label $header_len_label _op .byte 1 "minimum_instruction_length" - _op .byte 1 "default_is_stmt" + _op .byte $_default_is_stmt "default_is_stmt" _op .byte 1 "line_base" _op .byte 1 "line_range" _op .byte 10 "opcode_base" @@ -1438,6 +1440,10 @@ namespace eval Dwarf { _op .byte 1 } + proc DW_LNS_negate_stmt {} { + _op .byte 6 + } + proc DW_LNS_advance_pc {offset} { _op .byte 2 _op .uleb128 ${offset} -- 2.14.5