From patchwork Sat Dec 14 09:16:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 103118 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 6DF593858C54 for ; Sat, 14 Dec 2024 09:17:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6DF593858C54 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=nC6weHXa X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id 173953858D21 for ; Sat, 14 Dec 2024 09:16:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 173953858D21 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 173953858D21 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734167772; cv=none; b=f8hwAFBXkb7rt6esrs0ULxVMXpGh7Q9zKD67+Sid73ofcU31DOGXXmlaqQFWF+xbbScVGNj8Um8LoR1oxlhSmToBH+gPN5Ee2FzVk/RaV1qr0YGvoZ8J7X6QaNDbfRLjXD2TY84nFXQkJ6KZbFCyRvYu2M01lfYwxT7Hvie/Nik= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734167772; c=relaxed/simple; bh=nsNVn21eoTKQHRbBidIBJzxz3NShYh6B321F7IhCgJ0=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=UrsbV5/Ca2XvYgtG7OwJIvDRSEwzw0l9Oa9GA/UR4vvcGF/JneA9aF184o7qYOLgIfwT+nZn89IF6HhNP33kaVovgADtXynH5FoOIWGK8wpH41UmpTCQ8rtSYY2EZJLu/yRt/YhqVnRo8eiohQpFyGDeeGz2iPay1bGS8pFJIyA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 173953858D21 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-21649a7bcdcso24389415ad.1 for ; Sat, 14 Dec 2024 01:16:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734167771; x=1734772571; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=lSZS3DAqtdxql7lsxyLB4+ltlAL5G7aWpRBq3IeKoww=; b=nC6weHXa7DRoAzBeZ99icfrhsFLVpSZP9EcyzYi77dowwy7b0EqC4sPXmEz8MtfUEu TSGQUR55+A/SH/8e7jxvhBh3XZkXzAutp3yjAx2x3gjHlwTSjUox4YhGx2H+Du8q9zjO iLtcXt65PMuKKeUmCoPOqkBwdFwx8x8MFmdPNR9GLmOgEkMI/aiHu0+ZrJ66L7E2lgWv 2E5ZjQsOX3ApbYdPkmj7c+8oiHP0dFIpg5HALT0mwI8KsLkgvqaLnu0K7Dv9MILgk6RL LMULLS7pNFfwCt87F9BfaXZHHOQ/0Ta0D6gCJHFrbl07veF44h6ZJrsZm2JUrjAxo27v dsDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734167771; x=1734772571; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lSZS3DAqtdxql7lsxyLB4+ltlAL5G7aWpRBq3IeKoww=; b=rPOUGhcx1q/cj8MlyWVrU3ZGM9loVb09y4wWlxhVMjGyiX5KjwwOyFpBr2SnnGsrnU HWH0yNHmzoBhZybiF6w9Gdwu/6YPtQcHObc6xP0K4G+vm5coSV4+o1cIzuRGtKG8l5CM C/NdT8q+9iLtFrFP2So/TFiBZILfDxfX5Ej6pQj5Ohn149BhRfgQSbB8oWGMn2mGe3Wr sahLU0hhyeeGYp+U2P1AZlQyLlzjgQ+2C9nxf/UJobMDFCj/brd0FQV7efCUOlbTKKAt 1KQYpQ0lXHCLZIDN8h3/UoB/UkwoqOC6B7vHeuuOF94R5ujeEpkzE9hkTtnlLc2M9HhM 1zCw== X-Gm-Message-State: AOJu0Yyls1BbDYlUPSfrd3bCyCQjUUkNP/kXt64InGygbKA6mHfj8dE3 vRpZzo5+7r7Ag3qQvRyNc5Ay/DyKMIBMGhDQM7dcAwRlz69Q4J5pjNRqhA== X-Gm-Gg: ASbGnctaTdBgJediE2/We0VarIFexw7X1VWfdANmnvdzUnBfxxRFg4P1I3AHINBQQsJ 3d2lHer4Xss/kjLn6GAdCM59rQLxIm8gbRreaMGkHNa57N/T1VcE5u3FIh4HwLfvPpQaG4NWxmC GFC3obMpjHRM7LiIcXvqECZNNA/pkr+TgQ58f5FshskCPaR/Irh8o5wIQcv3HkTXSOjMQeE2oV3 /hrQ/GZJ7zyjmSY9mD65X/g6BfYVsDSR3HplgYUJREnDno6kYzM9lEv3J5ImyVqDxkveakX5BzA 9QcVFXVJqnfDg5YUa32z162P3FY= X-Google-Smtp-Source: AGHT+IFzoRf368g/7YWaxR54Kd8F4j8/cz+OcAcpnW/c+SkqjdP+4GlNPgjp2RKCz055HsqeBKE3sg== X-Received: by 2002:a17:902:c949:b0:215:854c:a71a with SMTP id d9443c01a7336-21892a1a24cmr67567705ad.34.1734167770090; Sat, 14 Dec 2024 01:16:10 -0800 (PST) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e6404dsm9253275ad.228.2024.12.14.01.16.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Dec 2024 01:16:09 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id C156C1140580; Sat, 14 Dec 2024 19:46:06 +1030 (ACDT) Date: Sat, 14 Dec 2024 19:46:06 +1030 From: Alan Modra To: binutils@sourceware.org Subject: Delete asection.symbol_ptr_ptr Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3032.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org This field is always set to point to asection.symbol, and no code ever changes it from its initial value. With one exception. elfxx-mips.c creates two sections with separate pointers to their symbols, and uses those as asection.symbol_ptr_ptr. Those pointers aren't modified, so they disappear in this patch too. diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 13a5d82f8eb..5f62ac67cfd 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -2107,7 +2107,7 @@ NAME (aout, swap_ext_reloc_out) (bfd *abfd, if (symbols != NULL && r_index < bfd_get_symcount (abfd)) \ cache_ptr->sym_ptr_ptr = symbols + r_index; \ else \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ } \ else \ @@ -2118,23 +2118,23 @@ NAME (aout, swap_ext_reloc_out) (bfd *abfd, { \ case N_TEXT: \ case N_TEXT | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_textsec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_textsec (abfd)->symbol; \ cache_ptr->addend = ad - su->textsec->vma; \ break; \ case N_DATA: \ case N_DATA | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_datasec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_datasec (abfd)->symbol; \ cache_ptr->addend = ad - su->datasec->vma; \ break; \ case N_BSS: \ case N_BSS | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_bsssec (abfd)->symbol; \ cache_ptr->addend = ad - su->bsssec->vma; \ break; \ default: \ case N_ABS: \ case N_ABS | N_EXT: \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ break; \ } \ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 8cc255b8354..a2f75b258c4 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -811,7 +811,6 @@ typedef struct bfd_section /* A symbol which points at this section only. */ struct bfd_symbol *symbol; - struct bfd_symbol **symbol_ptr_ptr; /* Early in the link process, map_head and map_tail are used to build a list of input sections attached to an output section. Later, @@ -1002,8 +1001,8 @@ discarded_section (const asection *sec) /* target_index, used_by_bfd, constructor_chain, owner, */ \ 0, NULL, NULL, NULL, \ \ - /* symbol, symbol_ptr_ptr, */ \ - (struct bfd_symbol *) SYM, &SEC.symbol, \ + /* symbol, */ \ + (struct bfd_symbol *) SYM, \ \ /* map_head, map_tail, already_assigned, type */ \ { NULL }, { NULL }, NULL, 0 \ diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index 38d2c10ade3..0329be68b69 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c @@ -664,7 +664,7 @@ alpha_adjust_reloc_in (bfd *abfd, some reason the address of this reloc type is not adjusted by the section vma. We record the gp value for this object file here, for convenience when doing the GPDISP relocation. */ - rptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + rptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; rptr->address = intern->r_vaddr; rptr->addend = ecoff_data (abfd)->gp; break; diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index ae7b6e0024e..145fb6583b2 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -368,7 +368,7 @@ mips_adjust_reloc_in (bfd *abfd, /* If the type is MIPS_R_IGNORE, make sure this is a reference to the absolute section so that the reloc is ignored. */ if (intern->r_type == MIPS_R_IGNORE) - rptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + rptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; rptr->howto = &mips_howto_table[intern->r_type]; } diff --git a/bfd/coff-tic30.c b/bfd/coff-tic30.c index deca0a48feb..7590a3402b9 100644 --- a/bfd/coff-tic30.c +++ b/bfd/coff-tic30.c @@ -162,7 +162,7 @@ reloc_processing (arelent *relent, rtype2howto (relent, reloc); if (reloc->r_symndx == -1 || symbols == NULL) - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else if (reloc->r_symndx >= 0 && reloc->r_symndx < obj_conv_table_size (abfd)) relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx]; else @@ -171,7 +171,7 @@ reloc_processing (arelent *relent, /* xgettext:c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, reloc->r_symndx); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } relent->addend = reloc->r_offset; relent->address -= section->vma; diff --git a/bfd/coff-tic4x.c b/bfd/coff-tic4x.c index 8d70b465724..323d5860445 100644 --- a/bfd/coff-tic4x.c +++ b/bfd/coff-tic4x.c @@ -227,7 +227,7 @@ tic4x_reloc_processing (arelent *relent, /* xgettext: c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, reloc->r_symndx); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; ptr = NULL; } else @@ -239,7 +239,7 @@ tic4x_reloc_processing (arelent *relent, } else { - relent->sym_ptr_ptr = section->symbol_ptr_ptr; + relent->sym_ptr_ptr = §ion->symbol; ptr = *(relent->sym_ptr_ptr); } diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c index 424a3b13654..37124c26b6c 100644 --- a/bfd/coff-tic54x.c +++ b/bfd/coff-tic54x.c @@ -337,7 +337,7 @@ tic54x_reloc_processing (arelent *relent, /* xgettext: c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, reloc->r_symndx); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; ptr = NULL; } else @@ -349,7 +349,7 @@ tic54x_reloc_processing (arelent *relent, } else { - relent->sym_ptr_ptr = section->symbol_ptr_ptr; + relent->sym_ptr_ptr = §ion->symbol; ptr = *(relent->sym_ptr_ptr); } diff --git a/bfd/coff-z80.c b/bfd/coff-z80.c index fd33b5a758f..cc6e9956a78 100644 --- a/bfd/coff-z80.c +++ b/bfd/coff-z80.c @@ -315,7 +315,7 @@ reloc_processing (arelent *relent, rtype2howto (relent, reloc); if (reloc->r_symndx == -1 || symbols == NULL) - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else if (reloc->r_symndx >= 0 && reloc->r_symndx < obj_conv_table_size (abfd)) relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx]; else @@ -324,7 +324,7 @@ reloc_processing (arelent *relent, /* xgettext:c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, reloc->r_symndx); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } relent->addend = reloc->r_offset; relent->address -= section->vma; diff --git a/bfd/coff-z8k.c b/bfd/coff-z8k.c index 0b4e3b63aaf..2a768f2d88c 100644 --- a/bfd/coff-z8k.c +++ b/bfd/coff-z8k.c @@ -178,7 +178,7 @@ reloc_processing (arelent *relent, rtype2howto (relent, reloc); if (reloc->r_symndx == -1 || symbols == NULL) - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else if (reloc->r_symndx >= 0 && reloc->r_symndx < obj_conv_table_size (abfd)) relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx]; else @@ -187,7 +187,7 @@ reloc_processing (arelent *relent, /* xgettext:c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, reloc->r_symndx); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } relent->addend = reloc->r_offset; relent->address -= section->vma; diff --git a/bfd/coffcode.h b/bfd/coffcode.h index ebf4f513fde..929470ab341 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -5313,7 +5313,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols) /* xgettext:c-format */ (_("%pB: warning: illegal symbol index %ld in relocs"), abfd, dst.r_symndx); - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; ptr = NULL; } else @@ -5325,7 +5325,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols) } else { - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; ptr = NULL; } diff --git a/bfd/ecoff.c b/bfd/ecoff.c index d0cb9e18aaa..e8804bf2236 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -1685,7 +1685,7 @@ ecoff_slurp_reloc_table (bfd *abfd, (*backend->swap_reloc_in) (abfd, external_relocs + i * external_reloc_size, &intern); - rptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + rptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; rptr->addend = 0; if (intern.r_extern) @@ -1729,7 +1729,7 @@ ecoff_slurp_reloc_table (bfd *abfd, sec = bfd_get_section_by_name (abfd, sec_name); if (sec != NULL) { - rptr->sym_ptr_ptr = sec->symbol_ptr_ptr; + rptr->sym_ptr_ptr = &sec->symbol; rptr->addend = - bfd_section_vma (sec); } } @@ -3963,7 +3963,7 @@ ecoff_reloc_link_order (bfd *output_bfd, if (type == bfd_section_reloc_link_order) { section = link_order->u.reloc.p->u.section; - rel.sym_ptr_ptr = section->symbol_ptr_ptr; + rel.sym_ptr_ptr = §ion->symbol; } else { diff --git a/bfd/elf.c b/bfd/elf.c index bd9525959c1..318677df32a 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -13853,8 +13853,7 @@ _bfd_elf_slurp_secondary_reloc_section (bfd * abfd, { /* FIXME: This and the error case below mean that we have a symbol on relocs that is not elf_symbol_type. */ - internal_reloc->sym_ptr_ptr = - bfd_abs_section_ptr->symbol_ptr_ptr; + internal_reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } else if (r_sym (rela.r_info) > symcount) { @@ -13863,8 +13862,7 @@ _bfd_elf_slurp_secondary_reloc_section (bfd * abfd, (_("%pB(%pA): relocation %zu has invalid symbol index %lu"), abfd, sec, i, (long) r_sym (rela.r_info)); bfd_set_error (bfd_error_bad_value); - internal_reloc->sym_ptr_ptr = - bfd_abs_section_ptr->symbol_ptr_ptr; + internal_reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; result = false; } else diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index b0b9b9bc9fd..eb3e241acac 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -13138,7 +13138,7 @@ nds32_elf_get_relocated_section_contents (bfd *abfd, input_section); _bfd_clear_contents ((*parent)->howto, input_bfd, input_section, data, off); - (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + (*parent)->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; (*parent)->addend = 0; (*parent)->howto = &none_howto; r = bfd_reloc_ok; diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index afd7b30f134..a96e43bd00d 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -4080,7 +4080,7 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect, } /* Some types require symbols, whereas some do not. */ - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; switch (type) { case R_MIPS_NONE: @@ -4113,7 +4113,7 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect, if ((s->flags & BSF_SECTION_SYM) == 0) relent->sym_ptr_ptr = ps; else - relent->sym_ptr_ptr = s->section->symbol_ptr_ptr; + relent->sym_ptr_ptr = &s->section->symbol; } used_sym = true; diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 300e7fdb72c..6f6d6873db7 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -123,7 +123,7 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect, relent->address = rela.r_offset - asect->vma; if (ELF64_R_SYM (rela.r_info) == STN_UNDEF) - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else if (/* PR 17512: file: 996185f8. */ ELF64_R_SYM (rela.r_info) > (dynamic ? bfd_get_dynamic_symcount (abfd) @@ -134,7 +134,7 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect, (_("%pB(%pA): relocation %d has invalid symbol index %ld"), abfd, asect, i, (long) ELF64_R_SYM (rela.r_info)); bfd_set_error (bfd_error_bad_value); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } else { @@ -147,7 +147,7 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect, if ((s->flags & BSF_SECTION_SYM) == 0) relent->sym_ptr_ptr = ps; else - relent->sym_ptr_ptr = s->section->symbol_ptr_ptr; + relent->sym_ptr_ptr = &s->section->symbol; } relent->addend = rela.r_addend; @@ -158,7 +158,7 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect, relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_LO10); relent[1].address = relent->address; relent++; - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; relent->addend = ELF64_R_TYPE_DATA (rela.r_info); relent->howto = _bfd_sparc_elf_info_to_howto_ptr (abfd, R_SPARC_13); } diff --git a/bfd/elfcode.h b/bfd/elfcode.h index 3dcba4c4fd7..baf38fef5a5 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -1593,7 +1593,7 @@ elf_slurp_reloc_table_from_section (bfd *abfd, if (ELF_R_SYM (rela.r_info) == STN_UNDEF) /* FIXME: This and the error case below mean that we have a symbol on relocs that is not elf_symbol_type. */ - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else if (ELF_R_SYM (rela.r_info) > symcount) { _bfd_error_handler @@ -1601,7 +1601,7 @@ elf_slurp_reloc_table_from_section (bfd *abfd, (_("%pB(%pA): relocation %d has invalid symbol index %ld"), abfd, asect, i, (long) ELF_R_SYM (rela.r_info)); bfd_set_error (bfd_error_bad_value); - relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relent->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } else { diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 59444b063a4..c9895aa660f 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -593,8 +593,6 @@ struct mips_elf_obj_tdata /* The Irix 5 support uses two virtual sections, which represent text/data symbols defined in dynamic objects. */ - asymbol *elf_data_symbol; - asymbol *elf_text_symbol; asection *elf_data_section; asection *elf_text_section; @@ -7913,11 +7911,8 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, /* Initialize the section. */ mips_elf_tdata (abfd)->elf_text_section = elf_text_section; - mips_elf_tdata (abfd)->elf_text_symbol = elf_text_symbol; elf_text_section->symbol = elf_text_symbol; - elf_text_section->symbol_ptr_ptr = &mips_elf_tdata (abfd)->elf_text_symbol; - elf_text_section->name = ".text"; elf_text_section->flags = SEC_NO_FLAGS; elf_text_section->output_section = NULL; @@ -7954,11 +7949,8 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, /* Initialize the section. */ mips_elf_tdata (abfd)->elf_data_section = elf_data_section; - mips_elf_tdata (abfd)->elf_data_symbol = elf_data_symbol; elf_data_section->symbol = elf_data_symbol; - elf_data_section->symbol_ptr_ptr = &mips_elf_tdata (abfd)->elf_data_symbol; - elf_data_section->name = ".data"; elf_data_section->flags = SEC_NO_FLAGS; elf_data_section->output_section = NULL; @@ -13455,7 +13447,7 @@ _bfd_elf_mips_get_relocated_section_contents * bfd_octets_per_byte (input_bfd, input_section)); _bfd_clear_contents ((*parent)->howto, input_bfd, input_section, data, off); - (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + (*parent)->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; (*parent)->addend = 0; (*parent)->howto = &none_howto; r = bfd_reloc_ok; diff --git a/bfd/i386lynx.c b/bfd/i386lynx.c index 1d4c411a6ed..f6695f91177 100644 --- a/bfd/i386lynx.c +++ b/bfd/i386lynx.c @@ -285,7 +285,7 @@ NAME(lynx,swap_ext_reloc_out) (bfd *abfd, if (symbols != NULL && r_index < bfd_get_symcount (abfd)) \ cache_ptr->sym_ptr_ptr = symbols + r_index; \ else \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ } \ else \ @@ -296,23 +296,23 @@ NAME(lynx,swap_ext_reloc_out) (bfd *abfd, { \ case N_TEXT: \ case N_TEXT | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_textsec(abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_textsec(abfd)->symbol; \ cache_ptr->addend = ad - su->textsec->vma; \ break; \ case N_DATA: \ case N_DATA | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_datasec(abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_datasec(abfd)->symbol; \ cache_ptr->addend = ad - su->datasec->vma; \ break; \ case N_BSS: \ case N_BSS | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_bsssec(abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_bsssec(abfd)->symbol; \ cache_ptr->addend = ad - su->bsssec->vma; \ break; \ default: \ case N_ABS: \ case N_ABS | N_EXT: \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ break; \ } \ diff --git a/bfd/linker.c b/bfd/linker.c index 21009a838bc..c37dc573138 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -2373,7 +2373,7 @@ _bfd_generic_reloc_link_order (bfd *abfd, /* Get the symbol to use for the relocation. */ if (link_order->type == bfd_section_reloc_link_order) - r->sym_ptr_ptr = link_order->u.reloc.p->u.section->symbol_ptr_ptr; + r->sym_ptr_ptr = &link_order->u.reloc.p->u.section->symbol; else { struct generic_link_hash_entry *h; diff --git a/bfd/mach-o-aarch64.c b/bfd/mach-o-aarch64.c index c62aac62c20..81d4b95f476 100644 --- a/bfd/mach-o-aarch64.c +++ b/bfd/mach-o-aarch64.c @@ -170,7 +170,7 @@ bfd_mach_o_arm64_canonicalize_one_reloc (bfd * abfd, { if (reloc.r_length == 2 && reloc.r_pcrel == 0) { - res->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + res->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; res->addend = reloc.r_value; res->howto = &arm64_howto_table[10]; return true; diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 49ecd13f736..95bb4818043 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -1489,9 +1489,9 @@ bfd_mach_o_canonicalize_non_scattered_reloc (bfd *abfd, { /* PR 17512: file: 8396-1185-0.004. */ if (num >= (unsigned) bfd_mach_o_count_symbols (abfd)) - sym = bfd_und_section_ptr->symbol_ptr_ptr; + sym = &bfd_und_section_ptr->symbol; else if (syms == NULL) - sym = bfd_und_section_ptr->symbol_ptr_ptr; + sym = &bfd_und_section_ptr->symbol; else /* An external symbol number. */ sym = syms + num; @@ -1503,7 +1503,7 @@ bfd_mach_o_canonicalize_non_scattered_reloc (bfd *abfd, This value is almost certainly not a valid section number, hence this specific case to avoid an assertion failure. Target specific swap_reloc_in routine should adjust that. */ - sym = bfd_abs_section_ptr->symbol_ptr_ptr; + sym = &bfd_abs_section_ptr->symbol; } else { @@ -1516,7 +1516,7 @@ malformed mach-o reloc: section index is greater than the number of sections")); } /* A section number. */ - sym = mdata->sections[num - 1]->bfdsection->symbol_ptr_ptr; + sym = &mdata->sections[num - 1]->bfdsection->symbol; /* For a symbol defined in section S, the addend (stored in the binary) contains the address of the section. To comply with bfd convention, subtract the section address. @@ -1554,7 +1554,7 @@ bfd_mach_o_pre_canonicalize_one_reloc (bfd *abfd, bfd_vma addr; addr = bfd_get_32 (abfd, raw->r_address); - res->sym_ptr_ptr = bfd_und_section_ptr->symbol_ptr_ptr; + res->sym_ptr_ptr = &bfd_und_section_ptr->symbol; res->addend = 0; if (addr & BFD_MACH_O_SR_SCATTERED) @@ -1578,7 +1578,7 @@ bfd_mach_o_pre_canonicalize_one_reloc (bfd *abfd, bfd_mach_o_section *sect = mdata->sections[j]; if (symnum >= sect->addr && symnum < sect->addr + sect->size) { - res->sym_ptr_ptr = sect->bfdsection->symbol_ptr_ptr; + res->sym_ptr_ptr = §->bfdsection->symbol; res->addend = symnum - sect->addr; break; } diff --git a/bfd/pdp11.c b/bfd/pdp11.c index 7099c0b15dd..f65760f9ee6 100644 --- a/bfd/pdp11.c +++ b/bfd/pdp11.c @@ -1842,7 +1842,7 @@ pdp11_aout_swap_reloc_out (bfd *abfd, arelent *g, bfd_byte *natptr) if (symbols != NULL && r_index < bfd_get_symcount (abfd)) \ cache_ptr->sym_ptr_ptr = symbols + r_index; \ else \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ } \ else \ @@ -1853,23 +1853,23 @@ pdp11_aout_swap_reloc_out (bfd *abfd, arelent *g, bfd_byte *natptr) { \ case N_TEXT: \ case N_TEXT | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_textsec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_textsec (abfd)->symbol; \ cache_ptr->addend = ad - su->textsec->vma; \ break; \ case N_DATA: \ case N_DATA | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_datasec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_datasec (abfd)->symbol; \ cache_ptr->addend = ad - su->datasec->vma; \ break; \ case N_BSS: \ case N_BSS | N_EXT: \ - cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &obj_bsssec (abfd)->symbol; \ cache_ptr->addend = ad - su->bsssec->vma; \ break; \ default: \ case N_ABS: \ case N_ABS | N_EXT: \ - cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; \ + cache_ptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; \ cache_ptr->addend = ad; \ break; \ } \ diff --git a/bfd/peicode.h b/bfd/peicode.h index 1a084fda05b..b642bd7bfe6 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -500,7 +500,7 @@ pe_ILF_make_a_reloc (pe_ILF_vars * vars, bfd_reloc_code_real_type reloc, asection_ptr sec) { - pe_ILF_make_a_symbol_reloc (vars, address, reloc, sec->symbol_ptr_ptr, + pe_ILF_make_a_symbol_reloc (vars, address, reloc, &sec->symbol, coff_section_data (vars->abfd, sec)->i); } diff --git a/bfd/reloc.c b/bfd/reloc.c index f60776299c8..f8eb3344b42 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -8542,7 +8542,7 @@ bfd_generic_get_relocated_section_contents (bfd *abfd, * bfd_octets_per_byte (input_bfd, input_section)); _bfd_clear_contents ((*parent)->howto, input_bfd, input_section, data, off); - (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + (*parent)->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; (*parent)->addend = 0; (*parent)->howto = &none_howto; r = bfd_reloc_ok; diff --git a/bfd/section.c b/bfd/section.c index 35e4489c475..07546a23c9d 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -545,7 +545,6 @@ CODE_FRAGMENT . . {* A symbol which points at this section only. *} . struct bfd_symbol *symbol; -. struct bfd_symbol **symbol_ptr_ptr; . . {* Early in the link process, map_head and map_tail are used to build . a list of input sections attached to an output section. Later, @@ -738,8 +737,8 @@ EXTERNAL . {* target_index, used_by_bfd, constructor_chain, owner, *} \ . 0, NULL, NULL, NULL, \ . \ -. {* symbol, symbol_ptr_ptr, *} \ -. (struct bfd_symbol *) SYM, &SEC.symbol, \ +. {* symbol, *} \ +. (struct bfd_symbol *) SYM, \ . \ . {* map_head, map_tail, already_assigned, type *} \ . { NULL }, { NULL }, NULL, 0 \ @@ -828,7 +827,6 @@ _bfd_generic_new_section_hook (bfd *abfd, asection *newsect) newsect->symbol->section = newsect; newsect->symbol->flags = BSF_SECTION_SYM; - newsect->symbol_ptr_ptr = &newsect->symbol; return true; } diff --git a/bfd/som.c b/bfd/som.c index 3a3cbd3dfd7..86f7f4121e4 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -4914,7 +4914,7 @@ som_set_reloc_info (unsigned char *fixup, rptr->address = offset; rptr->howto = &som_hppa_howto_table[op]; rptr->addend = 0; - rptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + rptr->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } /* Set default input length to 0. Get the opcode class index diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 092798a51a2..a536fc606fc 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -5586,8 +5586,7 @@ alpha_vms_slurp_relocs (bfd *abfd) { if (PRIV (sections) == NULL || cur_psidx >= (int) PRIV (section_count)) goto fail; - reloc->sym_ptr_ptr = - PRIV (sections)[cur_psidx]->symbol_ptr_ptr; + reloc->sym_ptr_ptr = &PRIV (sections)[cur_psidx]->symbol; } else reloc->sym_ptr_ptr = NULL; diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 6eb4529b85a..9fb98fd996f 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -451,7 +451,7 @@ _bfd_xcoff_canonicalize_dynamic_reloc (bfd *abfd, return -1; } - relbuf->sym_ptr_ptr = sec->symbol_ptr_ptr; + relbuf->sym_ptr_ptr = &sec->symbol; } else if (ldrel.l_symndx - 3 < ldhdr.l_nsyms) relbuf->sym_ptr_ptr = syms + (ldrel.l_symndx - 3); @@ -461,7 +461,7 @@ _bfd_xcoff_canonicalize_dynamic_reloc (bfd *abfd, /* xgettext:c-format */ (_("%pB: warning: illegal symbol index %lu in relocs"), abfd, (unsigned long) ldrel.l_symndx); - relbuf->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + relbuf->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } relbuf->address = ldrel.l_vaddr; diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 378285062b2..8e04b2cbeeb 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1666,7 +1666,7 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms, keep = false; else if ((flags & BSF_KEEP) != 0 /* Used in relocation. */ || ((flags & BSF_SECTION_SYM) != 0 - && ((*bfd_asymbol_section (sym)->symbol_ptr_ptr)->flags + && (bfd_asymbol_section (sym)->symbol->flags & BSF_KEEP) != 0)) { keep = true; diff --git a/binutils/rescoff.c b/binutils/rescoff.c index ec4e2c2c34c..d9998254442 100644 --- a/binutils/rescoff.c +++ b/binutils/rescoff.c @@ -481,7 +481,7 @@ write_coff_file (const char *filename, const char *target, if (sec == NULL) bfd_fatal ("bfd_make_section"); - if (! bfd_set_symtab (abfd, sec->symbol_ptr_ptr, 1)) + if (! bfd_set_symtab (abfd, &sec->symbol, 1)) bfd_fatal ("bfd_set_symtab"); /* Requiring this is probably a bug in BFD. */ @@ -498,7 +498,7 @@ write_coff_file (const char *filename, const char *target, set_windres_bfd (&wrbfd, abfd, sec, WR_KIND_BFD); cwi.wrbfd = &wrbfd; - cwi.sympp = sec->symbol_ptr_ptr; + cwi.sympp = &sec->symbol; cwi.dirsize = 0; cwi.dirstrsize = 0; cwi.dataentsize = 0; diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index bf8a247c717..54cc40a78ca 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -1477,8 +1477,7 @@ tc_gen_reloc (asection *section, fixS *fixp) of two symbols. With that in mind we fill in all four relocs now and break out of the loop. */ gas_assert (i == 1); - relocs[0]->sym_ptr_ptr - = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr; + relocs[0]->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; relocs[0]->howto = bfd_reloc_type_lookup (stdoutput, (bfd_reloc_code_real_type) *codes[0]); @@ -1498,15 +1497,13 @@ tc_gen_reloc (asection *section, fixS *fixp) (bfd_reloc_code_real_type) *codes[2]); relocs[2]->address = fixp->fx_frag->fr_address + fixp->fx_where; relocs[2]->addend = 0; - relocs[3]->sym_ptr_ptr - = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr; + relocs[3]->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; relocs[3]->howto = bfd_reloc_type_lookup (stdoutput, (bfd_reloc_code_real_type) *codes[3]); relocs[3]->address = fixp->fx_frag->fr_address + fixp->fx_where; relocs[3]->addend = 0; - relocs[4]->sym_ptr_ptr - = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr; + relocs[4]->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; relocs[4]->howto = bfd_reloc_type_lookup (stdoutput, (bfd_reloc_code_real_type) *codes[4]); diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c index 3b0c50b34da..d698255d306 100644 --- a/gas/config/tc-m32r.c +++ b/gas/config/tc-m32r.c @@ -725,7 +725,6 @@ md_begin (void) scom_section.flags = SEC_IS_COMMON | SEC_SMALL_DATA; scom_section.output_section = & scom_section; scom_section.symbol = & scom_symbol; - scom_section.symbol_ptr_ptr = & scom_section.symbol; scom_symbol = * bfd_com_section_ptr->symbol; scom_symbol.name = ".scommon"; scom_symbol.section = & scom_section; diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index 099d2058026..dffadb2c15e 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -2220,7 +2220,7 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp) if (asec == absolute_section) { reloc->addend += S_GET_VALUE (fixp->fx_addsy); - reloc->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } else { @@ -2258,8 +2258,7 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp) break; default: - reloc->sym_ptr_ptr - = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr; + reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; return relocs; } diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c index 71500fb7003..e1d0782d6e8 100644 --- a/gas/config/tc-msp430.c +++ b/gas/config/tc-msp430.c @@ -4697,7 +4697,7 @@ tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp) reloc2->addend = - S_GET_VALUE (fixp->fx_subsy); if (ssec == absolute_section) - reloc2->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + reloc2->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; else { reloc2->sym_ptr_ptr = XNEW (asymbol *); @@ -4708,7 +4708,7 @@ tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp) if (asec == absolute_section) { reloc->addend += S_GET_VALUE (fixp->fx_addsy); - reloc->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; + reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; } else { @@ -4746,8 +4746,7 @@ tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp) break; default: - reloc->sym_ptr_ptr - = (asymbol **) bfd_abs_section_ptr->symbol_ptr_ptr; + reloc->sym_ptr_ptr = &bfd_abs_section_ptr->symbol; return relocs; } diff --git a/gas/config/tc-tic6x.c b/gas/config/tc-tic6x.c index 8a2d4e3bb96..404cb14bf59 100644 --- a/gas/config/tc-tic6x.c +++ b/gas/config/tc-tic6x.c @@ -786,7 +786,6 @@ md_begin (void) scom_section.name = ".scommon"; scom_section.output_section = & scom_section; scom_section.symbol = & scom_symbol; - scom_section.symbol_ptr_ptr = & scom_section.symbol; scom_symbol = * bfd_com_section_ptr->symbol; scom_symbol.name = ".scommon"; scom_symbol.section = & scom_section;