From patchwork Wed Nov 23 11:32:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Waroquiers X-Patchwork-Id: 61024 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EAE0E3853D48 for ; Wed, 23 Nov 2022 11:34:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EAE0E3853D48 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669203272; bh=frQo91KHrNrXislmFgK6GmEA+goIndmeBZzhU5a7Edw=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=RI2BkvX6/zc5W406Id8fJT6VBIh6tZ0Oe4TiDh6KgZQJWnEMAEWdyh3w/tD6slB0M pdiTnF8qmWICuy4nRTSYL3mJoRORjpjuvvyfZGIaNMA/vBmlNRg0v+Y6If6g/Xhhei rmolc6e6zX9ILEKZR05coUG+fPLgQLjt+Fvr4bLc= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mailsec102.isp.belgacom.be (mailsec102.isp.belgacom.be [195.238.20.98]) by sourceware.org (Postfix) with ESMTPS id B0818385457B for ; Wed, 23 Nov 2022 11:33:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B0818385457B X-ExtLoop: 1 X-IPAS-Result: A2DCAwCwA35j/1uGgG1agRKBRrJOhVeBfg8BAQEBAQEBAQEJRAQBAYUFhQgmNQgOAQIEAQEBAQMCAwEBAQEBAQMBAQYBAQEBAQEGBAGBG4UvRoI1IoN/NgFGhE6DI7FEgQGEcJpmgWeBQItOhXmBVUSPfwSYagMJAwcFSUADCxgNFjIKEzYbWA4JHxwlDQUGEgMgbAUHOg8oL2crHBsHgQwqKBUDBAQDAgYTAyICDSkxFAQpEw0rJ28JAgMiagMDBCgsAwkhHwcnJDwHVjoFAwIPIDgGAwkDAiQTQ3QvEhQFAwsVJQgFSwQIOQUGUxICChEDEg8qRQ5IPjkWBidCATEODhQDXksdgQEEgiYKMTCcYnsUgiiTEhOSYpp6gX80B4NrgUgGDJ5hGjKDeJM7kWQBLYcej2mjJ4RRgWQBghJtgztRGQ+OKxcVjhqBLwIHCwEBAwmKYgEB IronPort-PHdr: A9a23:8rZf1RBkmuzbi8XCxxCgUyQUFUQY04WdBeb1wqQuh78GSKm/5ZOqZ BWZua8xygGQFt+Ho7Ic0qyK6fumATRBqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF 95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba19I RmsrAjdq8YajZVtJ60szhfFvmZEd/5ZyG92K1+fhQrw6tu18JV+7ylepvUt+tJaX67nZao4V 7tYDDonM2Ax+sLmsATIQBWM6HUBTGgYiwJEDAfZ4h70WJfxqTb6ufFm2CaGJ832TKs7Viqk4 qx2VRLnkiYHNzo+8GHKlsx9ib9QrRy9qxBjxYPffYeYP+d8cKzAZ9MXXWpPUNhPWiJcDI2yb IwBAOUOM+tDs4XwpEEDoQekCAWwGO/izCJDiH/s3a091uQsCRvI3AwhH9IKsXTUtM31O7kPW u+11qbI1zLDb+pL2Tf89ofIaAshquyLULJoccrRyE0vFwLdjlWIt4PpJT2U2f4Xs2ic9upgS OOvhHA9qwFquTWv3cQsi4nPho0L1lDI7z52z5gsKNC+VUV0bsKqHoFKuCGGK4t5XNkiQ2dwt Ss017ALuJG2cDUKxponxxDSb/+Kf5WV7x79WuifLil1inx5dL+9iRu/7Emtx+LyWMe7zltGs CtInsTDu30R1hHe7NWMRPhl/kq5xDqDywTe5vtZLUwqlqfXMYMtz7A/m5YJtUnPAyn7k1jsg qCMbEUr4O2o5vziYrXhu5CTKZd5ihr7MqQygsy/Bvk4MhQWU2ib5+u80Lrj8FX8QLpXlPE2l bHZsIvAKcsHqK65BhJV3pw95BaiFTem18gXnX4BLFJZYhKHiIzpN0vVL//mFfu/glKsnyl3x /3eI7HtHpHAImLenLv/frtx8VNQxQQ8wNxF459YF6kNIPfpVU/wsNzYAAU5Mwuxw+v/ENV91 oIeWWaOAq+BKKPdr0WE5+w1LOmWY48VoSv9K/k76P70ln80gkQdfaqp3JsRdn+4Au5qLF6Hb nb0hNcOCn8FvhAiQ+zylF2CTTlTam6sU64k/DE0FJqmDZvfRoCqmLGB0zq0EYZPamBeEF+MD Wvnd4WaVPcXcy+SOchhkiEeVbe9VYAg2wuhtBXkxLZ9KerU4CIYuYr51Ndp/+3TiQ0y9TtsA sSF02GNTmV0nmIQRz8uwq9zu0J8xU2Z0ah/mvxYCN1T6O1TUgchLpPc1O96CtD0Wg3fYteFU k2pTcv1SQ02G909yZoWalp2G9i5pgvEwjChDqAcjbHNA4Y7oYzG2H2kH8Z8z3fezKRpsFA8R dJSNGC8neYr7wjSA4/Ri0jfiK+wcr0B3SPX70+YznuIsV0eWgMmAvaNZmwWekaD9Yex3UjFV bL7Udwa IronPort-Data: A9a23:KZN6LalBUeUAZXcKaSexSkPo5gz/J0RdPkR7XQ2eYbSJt1+Wr1Gzt xJLWmGHO6qCZWPwKYx+b4S080kO6MKBmtZlGQdrqHswH1tH+JHPbTi7wuccHM8zwunrFh8PA xA2M4GYRCwMZiaA4E3ra9ANlFEkvYmQXL3wFeXYDS54QA5gWU8JhAlq8wIDqtcAbeORXkXc5 7sen+WFYAX/gmcuaTpOg06+gEoHUMra6WtwUmMWOKgjUG/2zxE9EJ8ZLKetGHr0KqE88jmSH rurIBmRpws1zj91Yj+Xuu+Tnn4iHtY+CTOzZk9+AMBOtPTtShsaic7XPNJEAateZq7gc9pZk L2hvrToIesl0zGldOk1C3Fl/y9C0aJu+ZH2L2mU4cCviBfefVL84fV+C2o/IthNkgp3KTkmG f0wLTxLaQiYwem4xa/9R/R2gc8kKtXxO4dZsHwIITPxVK53B8mZE+OTvoMejW5YasNmRJ4yY +IBaTtrbQzYbltQM00QEY8/kf2zrmL8YjtVtBSfqMLb5kCKkFUqi+O8YIO9ltqiRtQMn1vJp EH8wn3jGE9CCoac0Re77Sf57gPItWahMG4IL5W3+vQvmFSPzWweEzUNUkahqvSmg1SzHdVFJ CQ84iovqakq7EHtUdDnWASloXOepTYHWMtWHvF84gzl90bPy1fAQDFfEnsYMoxj7ZdnAzUmz VvMk8LvQz10qPufRHaS/7yTqHW4NED5MFM/WMPNdiNdi/GLnW35pkinogpLeEJ+sjE59fwcD dxHQOjSSoj/VfI26pg= IronPort-HdrOrdr: A9a23:fw0DNatYQkJSMtce78wROdRj7skDddV00zEX/kB9WHVpm62j5q eTdZEgviMc5wx+ZJhNo7290dC7IU80rKQFgrX5Xo3SODUO2lHDEGgK1+KL/9SHIUzDH4Vmup uIHZITNDX3ZWIK6PoT5GGDYrQd/OU= X-IronPort-Anti-Spam-Filtered: true X-ProximusIPWarmup: true Received: from 91.134-128-109.adsl-dyn.isp.belgacom.be (HELO md.ops.cfmu.eurocontrol.be) ([109.128.134.91]) by relay.proximus.be with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2022 12:33:03 +0100 To: gdb-patches@sourceware.org Cc: Philippe Waroquiers Subject: [RFA] Fix jump on uninit producer_is_clang of cu.h, rm declared/undefined find_partial_die Date: Wed, 23 Nov 2022 12:32:54 +0100 Message-Id: <20221123113254.2771869-1-philippe.waroquiers@skynet.be> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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-Patchwork-Original-From: Philippe Waroquiers via Gdb-patches From: Philippe Waroquiers Reply-To: Philippe Waroquiers Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Valgrind reports a "jump on unitialised bit error" when running e.g. gdb.base/macro-source-path.exp (see details below). Fix this by initializing producer_is_clang member variable of dwarf2_cu. Also remove the declared but undefined/unused method struct partial_die_info *find_partial_die (sect_offset sect_off); Tested on amd64/debian11 and re-running gdb.base/macro-source-path.exp under valgrind. ==2140965== Conditional jump or move depends on uninitialised value(s) ==2140965== at 0x5211F7: dwarf_decode_macro_bytes(dwarf2_per_objfile*, buildsym_compunit*, bfd*, unsigned char const*, unsigned char const*, macro_source_file*, line_header const*, dwarf2_section_info const*, int, int, unsigned int, dwarf2_section_info*, dwarf2_section_info*, gdb::optional, htab*, dwarf2_cu*) (macro.c:676) ==2140965== by 0x52158A: dwarf_decode_macros(dwarf2_per_objfile*, buildsym_compunit*, dwarf2_section_info const*, line_header const*, unsigned int, unsigned int, dwarf2_section_info*, dwarf2_section_info*, gdb::optional, int, dwarf2_cu*) (macro.c:967) ==2140965== by 0x523BC4: dwarf_decode_macros(dwarf2_cu*, unsigned int, int) (read.c:23379) ==2140965== by 0x552AB5: read_file_scope(die_info*, dwarf2_cu*) (read.c:9687) ==2140965== by 0x54F7B2: process_die(die_info*, dwarf2_cu*) (read.c:8660) ==2140965== by 0x5569C7: process_full_comp_unit (read.c:8429) ==2140965== by 0x5569C7: process_queue (read.c:7675) ==2140965== by 0x5569C7: dw2_do_instantiate_symtab (read.c:2063) ==2140965== by 0x5569C7: dw2_instantiate_symtab(dwarf2_per_cu_data*, dwarf2_per_objfile*, bool) (read.c:2085) ==2140965== by 0x55700B: dw2_expand_symtabs_matching_one(dwarf2_per_cu_data*, dwarf2_per_objfile*, gdb::function_view, gdb::function_view) (read.c:3984) ==2140965== by 0x557EA3: cooked_index_functions::expand_symtabs_matching(objfile*, gdb::function_view, lookup_name_info const*, gdb::function_view, gdb::function_view, enum_flags, domain_enum, search_domain) (read.c:18781) ==2140965== by 0x778977: objfile::lookup_symbol(block_enum, char const*, domain_enum) (symfile-debug.c:276) .... ==2140965== Uninitialised value was created by a heap allocation ==2140965== at 0x4839F01: operator new(unsigned long) (vg_replace_malloc.c:434) ==2140965== by 0x533A64: cutu_reader::cutu_reader(dwarf2_per_cu_data*, dwarf2_per_objfile*, abbrev_table*, dwarf2_cu*, bool, abbrev_cache*) (read.c:6264) ==2140965== by 0x5340C2: load_full_comp_unit(dwarf2_per_cu_data*, dwarf2_per_objfile*, dwarf2_cu*, bool, language) (read.c:7729) ==2140965== by 0x548338: load_cu(dwarf2_per_cu_data*, dwarf2_per_objfile*, bool) (read.c:2021) ==2140965== by 0x55634C: dw2_do_instantiate_symtab (read.c:2048) ==2140965== by 0x55634C: dw2_instantiate_symtab(dwarf2_per_cu_data*, dwarf2_per_objfile*, bool) (read.c:2085) ==2140965== by 0x55700B: dw2_expand_symtabs_matching_one(dwarf2_per_cu_data*, dwarf2_per_objfile*, gdb::function_view, gdb::function_view) (read.c:3984) ==2140965== by 0x557EA3: cooked_index_functions::expand_symtabs_matching(objfile*, gdb::function_view, lookup_name_info const*, gdb::function_view, gdb::function_view, enum_flags, domain_enum, search_domain) (read.c:18781) ==2140965== by 0x778977: objfile::lookup_symbol(block_enum, char const*, domain_enum) (symfile-debug.c:276) .... --- gdb/dwarf2/cu.c | 1 + gdb/dwarf2/cu.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/gdb/dwarf2/cu.c b/gdb/dwarf2/cu.c index e95208e2e75..af95725ebcf 100644 --- a/gdb/dwarf2/cu.c +++ b/gdb/dwarf2/cu.c @@ -39,6 +39,7 @@ dwarf2_cu::dwarf2_cu (dwarf2_per_cu_data *per_cu, producer_is_icc (false), producer_is_icc_lt_14 (false), producer_is_codewarrior (false), + producer_is_clang (false), processing_has_namespace_info (false), load_all_dies (false) { diff --git a/gdb/dwarf2/cu.h b/gdb/dwarf2/cu.h index 51638e71b19..52975095871 100644 --- a/gdb/dwarf2/cu.h +++ b/gdb/dwarf2/cu.h @@ -278,8 +278,6 @@ struct dwarf2_cu hash table and don't find it. */ bool load_all_dies : 1; - struct partial_die_info *find_partial_die (sect_offset sect_off); - /* Get the buildsym_compunit for this CU. */ buildsym_compunit *get_builder (); };