From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by sourceware.org (Postfix) with ESMTPS id AE4043858C50 for ; Tue, 9 May 2023 00:32:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AE4043858C50 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=harmstone.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-3f315712406so188968435e9.0 for ; Mon, 08 May 2023 17:32:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683592375; x=1686184375; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=kSNxOlE9sUxslC50lhsyp4DPybjo6Cmjs4WgG9sEUAo=; b=eEZFCJYF5fx4qcWTh+qpJqVSnWs5AQ0IUcjnJ1QWcwt8aR/ZoIo1HJsvJyi9g48cq0 GpYl+3XWfNzXMOGxNMnasxCI8JvrLSthPhKUcUUyvMP1vZsC76A1LJwagy1Wp/3mtda1 KAI60o3KSa+wCo8c2Pm7ppJOcT2Y0zwOpcTsIEwh9zlZe1T5QrI9QsoqCPU4LP7dmuAT JIA5XpIllMw2gi8nFU4DmPbYZYw1hJL2SzeWVPDmqD6+y4UIBagH4wFyUW6gew/VoaDv oUEuqwRd5qInuF1Lf17rJXc2YaOVpoe6d3EJeBGUqsEkakPJJU8sIxPifUh0/VErYGLi UKTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683592375; x=1686184375; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kSNxOlE9sUxslC50lhsyp4DPybjo6Cmjs4WgG9sEUAo=; b=YOH8Vue197s55G/wwQpkAvrHPbRIBUo2Hbfj/gm/17HNACmNqEJjLDyNSAJb/GICwj D5hwxpFRhm3IIofHIBSYIqIlge6IKgJlm99FBQm+hzMuCmxiXvdoLqg+jMDF5JEJBjdS K9aESFUEywI5wMMjNHHt8RMcHb4pxpzNf7zcPvv5c4bTItJ/B3f13eadNF4D2PxNaJGv rJXUCVtanKxa5aXgNcE7vCTuDhPvC13YDcz89MvEzhHhAz/LuO13mSrb6Codo0mrclql /ayjSfBfJBuTLWLg39rwD1ywMCIXNbevtU0zKcvkClFyObxo7VNlBFa9VCjq29Qeltuk uKJA== X-Gm-Message-State: AC+VfDy9MyEskoeQ3PZbmXOxzZBOat1PQGeXMdk1bR3bSsNpzT31XmGR uumGAgXYKRfkG2donOij/hTyEJ3z29M= X-Google-Smtp-Source: ACHHUZ7DQHZAZLmITLLI06CbCJS/Mx9zmTc7thUQtVw1QYOw8PkKLEMSHCepH1iwkZvEWmWnOV2QRg== X-Received: by 2002:a5d:4008:0:b0:306:2ba4:909d with SMTP id n8-20020a5d4008000000b003062ba4909dmr7047452wrp.11.1683592375107; Mon, 08 May 2023 17:32:55 -0700 (PDT) Received: from localhost.localdomain ([2a02:8010:64ea:0:8eb8:7eff:fe53:9d5f]) by smtp.gmail.com with ESMTPSA id x14-20020adfec0e000000b002ca864b807csm12770938wrn.0.2023.05.08.17.32.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 May 2023 17:32:54 -0700 (PDT) Sender: Mark Harmstone From: Mark Harmstone To: binutils@sourceware.org Cc: Mark Harmstone Subject: [PATCH 1/2] pdb: Allow loading by gdb Date: Tue, 9 May 2023 01:32:46 +0100 Message-Id: <20230509003247.24156-1-mark@harmstone.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: These are the first patches adding support to allow GDB to load Microsoft's PDB debugging files. Add a new bfd_flavour value, and expose PDB files as objects, so that they get accepted by add-symbol-file. --- bfd/bfd-in2.h | 3 ++- bfd/pdb.c | 6 ++++-- bfd/targets.c | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 7be18db20a8..e9b3e8e9a21 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -7410,7 +7410,8 @@ enum bfd_flavour bfd_target_mach_o_flavour, bfd_target_pef_flavour, bfd_target_pef_xlib_flavour, - bfd_target_sym_flavour + bfd_target_sym_flavour, + bfd_target_pdb_flavour }; enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }; diff --git a/bfd/pdb.c b/bfd/pdb.c index 7fefd8140fa..c48fb459b9f 100644 --- a/bfd/pdb.c +++ b/bfd/pdb.c @@ -62,6 +62,8 @@ pdb_archive_p (bfd *abfd) return _bfd_no_cleanup; } +#define pdb_object_p pdb_archive_p + static bfd * pdb_get_elt_at_index (bfd *abfd, symindex sym_index) { @@ -774,7 +776,7 @@ pdb_write_contents (bfd *abfd) const bfd_target pdb_vec = { "pdb", - bfd_target_unknown_flavour, + bfd_target_pdb_flavour, BFD_ENDIAN_LITTLE, /* target byte order */ BFD_ENDIAN_LITTLE, /* target headers byte order */ 0, /* object flags */ @@ -793,7 +795,7 @@ const bfd_target pdb_vec = { /* bfd_check_format */ _bfd_dummy_target, - _bfd_dummy_target, + pdb_object_p, pdb_archive_p, _bfd_dummy_target }, diff --git a/bfd/targets.c b/bfd/targets.c index 3dbcd088966..a36e6f0f439 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -169,7 +169,8 @@ EXTERNAL . bfd_target_mach_o_flavour, . bfd_target_pef_flavour, . bfd_target_pef_xlib_flavour, -. bfd_target_sym_flavour +. bfd_target_sym_flavour, +. bfd_target_pdb_flavour .}; . .enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }; @@ -1859,6 +1860,7 @@ bfd_flavour_name (enum bfd_flavour flavour) case bfd_target_pef_flavour: return "PEF"; case bfd_target_pef_xlib_flavour: return "PEF_XLIB"; case bfd_target_sym_flavour: return "SYM"; + case bfd_target_pdb_flavour: return "PDB"; /* There is no "default" case here so that -Wswitch (part of -Wall) catches missing entries. */ } -- 2.39.2