From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) by sourceware.org (Postfix) with ESMTPS id 37BCC3858D32 for ; Fri, 7 Apr 2023 16:39:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 37BCC3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-io1-xd2b.google.com with SMTP id y85so18878844iof.13 for ; Fri, 07 Apr 2023 09:39:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1680885595; x=1683477595; h=to:content-transfer-encoding:mime-version:message-id:date:subject :from:from:to:cc:subject:date:message-id:reply-to; bh=rHPYipWpDALq6JdNz/4L9oDvi6VVpwP2C45Bp4nmMtU=; b=En+TLizUWUIXnhUFCgWnsvZUQJu0b+4+w1kJ/sALR6pqmiQ6QkjExxGdQUqVWorqva CN7hsgSS3eccrTjKarua3YhPj+69XxtdemE4bNdzOjq1WQKGgdDGxf2Odq5uKbbFXHB0 PpIpXVy+1DDXOyUCYaji4H/RqFJaEMV76kwZB9GnYZnfKKsS3UdQbOXzRnLHoUlY3OHl Vi8fpcWqd3gs1PBsX+Z8JEsTNv+26V84pPpK6nuvjsJpUnuCbxi9sJFRjmIfF+IPT1DB K4bCWP+2y10YTzuIR8aC/1j4kHHVGFB24N3s1TumoYozojcM5jq8INYsVURt6dVHQ9B5 KG9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680885595; x=1683477595; h=to:content-transfer-encoding:mime-version:message-id:date:subject :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rHPYipWpDALq6JdNz/4L9oDvi6VVpwP2C45Bp4nmMtU=; b=EbJkoJ8IKD2UZd9MPlkcHGbb+V3mpTvjcBt0wUGDUNEbEVU6WalcNuFdOPAk1RW32+ klY72sg4TwiUWxRYN+/ka/CxNHn2nOU3cka78RFuhaTQrX5jcb2ASfDBsKDT8clwXO9D 2IRCRs4KTmAJgIUvtUDrASrB2AwA5cN6sg0GpnFZxPFfK1S5751+K8Gm7OeVMrlJKGd7 oTmuyjtlqfqAoZLLOfEn3+MUdl4omKiaDB86HaJTjRfjui7lvLwuGWz55iBE60+poNsH F5U3lWzwTuDSYZVlmCMyuh60lbHtnV20q/SDtZmzuss6q5pHlIx9xGBAzigc2KsdmJbG blnA== X-Gm-Message-State: AAQBX9cBY7GTpbLksWKQ5gy6rfPYtKS13ap3kek3qlCgINjhStSbs4oH Lb2FW0BEmw9uK0Xo48kL+x1JnDpDi0x8nYW2G/HQ5A== X-Google-Smtp-Source: AKy350a4g5+ZmMEwccQomfj6sVeFcc+avpfgf509XFTWqz3pirenwzH2y4flpTI780fv7gTUnZWd4Q== X-Received: by 2002:a6b:dc12:0:b0:760:932:6540 with SMTP id s18-20020a6bdc12000000b0076009326540mr2594054ioc.5.1680885595446; Fri, 07 Apr 2023 09:39:55 -0700 (PDT) Received: from localhost.localdomain (75-166-159-36.hlrn.qwest.net. [75.166.159.36]) by smtp.gmail.com with ESMTPSA id c62-20020a029644000000b00406431d0fb5sm1171452jai.72.2023.04.07.09.39.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Apr 2023 09:39:55 -0700 (PDT) From: Tom Tromey Subject: [PATCH v2 0/8] Implement Ada Pragma Import and Pragma Export Date: Fri, 07 Apr 2023 10:39:53 -0600 Message-Id: <20230314-submit-pragma-import-export-v2-0-dcff927191fb@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAFlHMGQC/42OQQ6DIBREr9KwLg2C1tpV79G4+OBX/wIxH2psj HcveoKuJm8mmZlNRGTCKJ6XTTAuFClMGfT1ItwI04CSusxCK22UKUoZP9ZTkjPD4EGSnwMnies pzjysLVVdN5URucFCRGkZJjceHR5iQj6CmbGn9Zx9t5lHiinw93yxFIf73+BSSCVBm6pWTV9jc 39BBy4w3lzwot33/QffIAPS4QAAAA== To: gdb-patches@sourceware.org X-Mailer: b4 0.12.2 X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_STOCKGEN,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This adds better support to GDB for Ada's import and export feature. There are some minor cleanups to start with, then the bulk of the feature in the last patch, which I think should be reasonably self-explanatory. Regression tested on x86-64 Fedora 36. It's also been running in the AdaCore internal test suite for a while. Tom --- Changes in v2: - Adds fix for a regression found internally at AdaCore. - Link to v1: https://inbox.sourceware.org/gdb-patches/20230314-submit-pragma-import-export-v1-0-a235709f7e96@adacore.com --- Tom Tromey (8): Introduce lookup_minimal_symbol_linkage Bump MAX_SYMBOL_IMPLS Define symbol::value_block separately Introduce symbol_block_ops::get_block_value Handle Ada Pragma Import and Pragma Export Use reference parameter in remove_extra_symbols Use bool and early loop exit in remove_extra_symbols Fix regression due to Pragma Import series gdb/Makefile.in | 1 + gdb/ada-lang.c | 70 ++++++++++------- gdb/dwarf2/ada-imported.c | 122 +++++++++++++++++++++++++++++ gdb/dwarf2/loc.h | 2 + gdb/dwarf2/read.c | 128 +++++++++++++++++++++++++++++++ gdb/minsyms.c | 22 ++++++ gdb/minsyms.h | 8 ++ gdb/symtab.c | 36 +++------ gdb/symtab.h | 20 ++++- gdb/testsuite/gdb.ada/complete.exp | 2 + gdb/testsuite/gdb.ada/complete/pck.ads | 4 +- gdb/testsuite/gdb.ada/import.exp | 60 +++++++++++++++ gdb/testsuite/gdb.ada/import/inc.c | 27 +++++++ gdb/testsuite/gdb.ada/import/pkg.adb | 35 +++++++++ gdb/testsuite/gdb.ada/import/pkg.ads | 38 +++++++++ gdb/testsuite/gdb.ada/import/prog.adb | 31 ++++++++ gdb/testsuite/gdb.ada/info_auto_lang.exp | 10 ++- 17 files changed, 555 insertions(+), 61 deletions(-) --- base-commit: 9d1c303d52d7aeb2ad0217e53e2bf0a840b93316 change-id: 20230314-submit-pragma-import-export-c38bb4077953 Best regards, -- Tom Tromey