From patchwork Mon Dec 16 10:52:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 103165 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 8DA343858CDB for ; Mon, 16 Dec 2024 10:53:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8DA343858CDB 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=Yan+aBaF X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 204E23858D39 for ; Mon, 16 Dec 2024 10:52:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 204E23858D39 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 204E23858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734346372; cv=none; b=kXpsZQqNRDl2WRBD7PslW8hLxUKcOl2OIUX0l/acJOG8JjmS7Bn9KAfFVUZpWh9Ozm1tvZyrUWDufcnvkIrnJjEgU7ewhOwCZdh6M40srbSZrAFvi4QGa4b/Ga9iu/+ltBXCv5AGHMm9tN1sE32Mye9JbjQEXQ5HB3V+H6exVz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734346372; c=relaxed/simple; bh=TUfr7jvEJV69gycBMrX12eqFkljXZg30vtCTrQe5RWI=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=Ykf+UHU3BGDG+IsNGiQSpaTESnSJnxenw8XIb4dXayRuUn7ejhMzhTDMpkFUccTkm+Tif72QqOSXoL8CEAHor0NFzS/60CHstI66r4XOhZyFCJ4+aGu0u3Av+ysj5Zf3ovygjAl7r7duvTPuCXLPs3azqgf5paknFyyVkWptFpQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 204E23858D39 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2166022c5caso29521945ad.2 for ; Mon, 16 Dec 2024 02:52:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734346371; x=1734951171; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=gKFCYjUU0wuZgcw7RtyRS46bwUdnCJkD1BdlXwRnE+4=; b=Yan+aBaFoJ8xUuF9hFeCkbANxx15mb51Ij/Tb5WRGr9KLNKKcriGgnnsiDdvJISewt GnVpeVk7l597nSiw1HueQPAocPGaBq6mvvV4XMy+IBLoX73M7xnoDQKCQ+ynF/YflBVq TVh1vbjF+J2HARAQQRtDOmT6+cfIsYTvzEdH6jCWtN/us24tDuXIyAJ81hVyZHiTm3Df 9zDjPhJu4E/EiXaf9cOjMbgeRRW0G8WUCRrWCGzgXHY4drDxESPX1rVyvEfZvwO4SXAo cVi/z59FrEH0UT8J84PYOWAWvfxHi0/LJqYnsy80TI50mb/f+BxFTtdoj+H9SHIawJWQ v9DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734346371; x=1734951171; 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=gKFCYjUU0wuZgcw7RtyRS46bwUdnCJkD1BdlXwRnE+4=; b=FQBQfVg/73yGH57OvhYzZBq6gUKNcjEsJt4vOzjpiWHRmgkbwZkCdbOSVwBs28KSXa 2vGj5+y1MUTjHvFBFpst3+3gXkr90Ne9GA6wsRUvYvmplrbwYZsZOSjVCDeGAgFnH+Pf 1XZV6z5pklBc0DKs7YQsZahpOjDo1w8KLmZSNCdGQ5VqNukYuG3QLN9Cjcvj0X+HK1ql vgwqDwmBY8YHN5wi1ItfdQdRQCyMUO1zrXgrsm3/lppbOGGIvNOL+OPf2dNEMl2AMIDX OsQB7Am3rxoJJcuWJ+QiLSyuHCL56N7+009o4Qp5c3zIo1QrW/6cdd8HlEmDLVvmtuRF cvVQ== X-Gm-Message-State: AOJu0Yx4GVaG1Hx7eOmIhu7S8DSmITNeHZZZewAnSR/VaAsQvp+SlN2V LGsYTDHirTqOSwgKOeuNQSId33nVC97aHq9BLjhWcLx54mO/ZfiEZd0Acg== X-Gm-Gg: ASbGncvHPqXFyd+3S8fleclQkFazoOYlUCAiUXzs5eNQAXNpwtPxixh359FeXPUuVM1 fnNScniOD+d5Ilq/m8cBDCZ0BZ7/7XjTcs0j2r51Bgxdwq2R1gCb3/+WtGB3+SZqwOpuA6qOPdD iOSaZ2CjiEGJIKy6vwAVEsyYysPSTGZAQjufe/MBXd7l28AgTQvIaBwa8x35bZvu3AVr2gd63CF W+0KQwOnVyAsA6zEVoGTqAKWQW9v7Oo4sjszYQEpZUXxhK7trV1CravpG/5jiIjOkG9Ig== X-Google-Smtp-Source: AGHT+IGglHUY+t42Hdnh2jtJA+RSMLlY3cxKyj8hleMNXt45jgdXg8nR5QaxybbM2ZSoaHrkgPQBXQ== X-Received: by 2002:a17:902:cec1:b0:215:9f5a:a236 with SMTP id d9443c01a7336-2189299932emr141801825ad.6.1734346370431; Mon, 16 Dec 2024 02:52:50 -0800 (PST) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:b3a6:9f00:b801:9537]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1dccb88sm40293535ad.95.2024.12.16.02.52.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Dec 2024 02:52:50 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id C945411409DF; Mon, 16 Dec 2024 21:22:46 +1030 (ACDT) Date: Mon, 16 Dec 2024 21:22:46 +1030 From: Alan Modra To: binutils@sourceware.org Subject: section tdata tidy Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3032.5 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 Any _new_section_hook that is not itself called from another _new_section_hook will always see used_by_bfd NULL. Remove those NULL checks in such hooks, and tidy code a little. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 17df8b30eb6..a4c23216c68 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -18535,16 +18535,10 @@ elf32_arm_filter_implib_symbols (bfd *abfd ATTRIBUTE_UNUSED, static bool elf32_arm_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - _arm_elf_section_data *sdata; - size_t amt = sizeof (*sdata); - - sdata = (_arm_elf_section_data *) bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + _arm_elf_section_data *sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index 20e03bd7588..12b68ba63f3 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -764,16 +764,12 @@ struct elf_avr_section_data static bool elf_avr_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct elf_avr_section_data *sdata; - size_t amt = sizeof (*sdata); + struct elf_avr_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index ce2064a75df..b500242c9cf 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -742,16 +742,12 @@ struct _microblaze_elf_section_data static bool microblaze_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _microblaze_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct _microblaze_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index a3e22c3e564..30d6dc85e22 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -4056,9 +4056,8 @@ static bool s3_elf32_score_new_section_hook (bfd *abfd, asection *sec) { struct _score_elf_section_data *sdata; - size_t amt = sizeof (*sdata); - sdata = bfd_zalloc (abfd, amt); + sdata = bfd_zalloc (abfd, sizeof (*sdata)); if (sdata == NULL) return false; sec->used_by_bfd = sdata; diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index c9edf2b1a48..4a4cec1f16a 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -3863,9 +3863,8 @@ bool s7_elf32_score_new_section_hook (bfd *abfd, asection *sec) { struct _score_elf_section_data *sdata; - size_t amt = sizeof (*sdata); - sdata = bfd_zalloc (abfd, amt); + sdata = bfd_zalloc (abfd, sizeof (*sdata)); if (sdata == NULL) return false; sec->used_by_bfd = sdata; diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index 881d4d8eb97..f65a0081202 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -247,15 +247,12 @@ spu_elf_rel9 (bfd *abfd, arelent *reloc_entry, asymbol *symbol, static bool spu_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _spu_elf_section_data *sdata; + struct _spu_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, sizeof (*sdata)); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index 5c00318cd15..dee75276d66 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -2083,18 +2083,12 @@ static bool elf32_tic6x_new_section_hook (bfd *abfd, asection *sec) { bool ret; + _tic6x_elf_section_data *sdata; - /* Allocate target specific section data. */ - if (!sec->used_by_bfd) - { - _tic6x_elf_section_data *sdata; - size_t amt = sizeof (*sdata); - - sdata = (_tic6x_elf_section_data *) bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; ret = _bfd_elf_new_section_hook (abfd, sec); sec->use_rela_p = elf32_tic6x_tdata (abfd)->use_rela_p; diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 58f79e55529..9682438f76a 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -6101,16 +6101,12 @@ struct elf_xtensa_section_data static bool elf_xtensa_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct elf_xtensa_section_data *sdata; - size_t amt = sizeof (*sdata); + struct elf_xtensa_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index 56c7361d32d..43a46e52c5b 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -828,16 +828,12 @@ bfd_elf64_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, static bool mmix_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _mmix_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct _mmix_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index dd1ee1eb9ea..f9964fa93d0 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -2050,16 +2050,12 @@ struct _ppc64_elf_section_data static bool ppc64_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _ppc64_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct _ppc64_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 701191470dc..c4077d5ba9a 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -8749,18 +8749,13 @@ elfNN_aarch64_output_arch_local_syms (bfd *output_bfd, static bool elfNN_aarch64_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - _aarch64_elf_section_data *sdata; - size_t amt = sizeof (*sdata); - - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + _aarch64_elf_section_data *sdata; record_section_with_aarch64_elf_section_data (sec); + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elfnn-kvx.c b/bfd/elfnn-kvx.c index 516ce2fb988..e2953199889 100644 --- a/bfd/elfnn-kvx.c +++ b/bfd/elfnn-kvx.c @@ -3688,16 +3688,12 @@ elfNN_kvx_output_arch_local_syms (bfd *output_bfd, static bool elfNN_kvx_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - _kvx_elf_section_data *sdata; - bfd_size_type amt = sizeof (*sdata); + _kvx_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c index 2ce5f73ae80..e3d39163d94 100644 --- a/bfd/elfnn-loongarch.c +++ b/bfd/elfnn-loongarch.c @@ -152,16 +152,12 @@ struct loongarch_elf_section_data static bool loongarch_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct loongarch_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct loongarch_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (!sdata) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (!sdata) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index c9895aa660f..459c98e23d7 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -1412,16 +1412,12 @@ _bfd_mips_elf_free_cached_info (bfd *abfd) bool _bfd_mips_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _mips_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct _mips_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 4ab3ab842d5..3f642aefd63 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -2660,16 +2660,12 @@ _bfd_sparc_elf_late_size_sections (bfd *output_bfd, bool _bfd_sparc_elf_new_section_hook (bfd *abfd, asection *sec) { - if (!sec->used_by_bfd) - { - struct _bfd_sparc_elf_section_data *sdata; - size_t amt = sizeof (*sdata); + struct _bfd_sparc_elf_section_data *sdata; - sdata = bfd_zalloc (abfd, amt); - if (sdata == NULL) - return false; - sec->used_by_bfd = sdata; - } + sdata = bfd_zalloc (abfd, sizeof (*sdata)); + if (sdata == NULL) + return false; + sec->used_by_bfd = sdata; return _bfd_elf_new_section_hook (abfd, sec); } diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 95bb4818043..9ec5cabc021 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -3520,40 +3520,31 @@ bfd_mach_o_read_header (bfd *abfd, file_ptr hdr_off, bfd_mach_o_header *header) bool bfd_mach_o_new_section_hook (bfd *abfd, asection *sec) { - bfd_mach_o_section *s; - unsigned bfdalign = bfd_section_alignment (sec); - - s = bfd_mach_o_get_mach_o_section (sec); + bfd_mach_o_section *s = bfd_zalloc (abfd, sizeof (*s)); if (s == NULL) - { - flagword bfd_flags; - static const mach_o_section_name_xlat * xlat; - - s = (bfd_mach_o_section *) bfd_zalloc (abfd, sizeof (*s)); - if (s == NULL) - return false; - sec->used_by_bfd = s; - s->bfdsection = sec; - - /* Create the Darwin seg/sect name pair from the bfd name. - If this is a canonical name for which a specific paiting exists - there will also be defined flags, type, attribute and alignment - values. */ - xlat = bfd_mach_o_convert_section_name_to_mach_o (abfd, sec, s); - if (xlat != NULL) - { - s->flags = xlat->macho_sectype | xlat->macho_secattr; - s->align = xlat->sectalign > bfdalign ? xlat->sectalign - : bfdalign; - bfd_set_section_alignment (sec, s->align); - bfd_flags = bfd_section_flags (sec); - if (bfd_flags == SEC_NO_FLAGS) - bfd_set_section_flags (sec, xlat->bfd_flags); - } - else - /* Create default flags. */ - bfd_mach_o_set_section_flags_from_bfd (abfd, sec); + return false; + sec->used_by_bfd = s; + s->bfdsection = sec; + + /* Create the Darwin seg/sect name pair from the bfd name. + If this is a canonical name for which a specific paiting exists + there will also be defined flags, type, attribute and alignment + values. */ + const mach_o_section_name_xlat *xlat + = bfd_mach_o_convert_section_name_to_mach_o (abfd, sec, s); + if (xlat != NULL) + { + s->flags = xlat->macho_sectype | xlat->macho_secattr; + unsigned bfdalign = bfd_section_alignment (sec); + s->align = xlat->sectalign > bfdalign ? xlat->sectalign : bfdalign; + bfd_set_section_alignment (sec, s->align); + flagword bfd_flags = bfd_section_flags (sec); + if (bfd_flags == SEC_NO_FLAGS) + bfd_set_section_flags (sec, xlat->bfd_flags); } + else + /* Create default flags. */ + bfd_mach_o_set_section_flags_from_bfd (abfd, sec); return _bfd_generic_new_section_hook (abfd, sec); } diff --git a/bfd/mmo.c b/bfd/mmo.c index 6704bc27d6b..a19951040b1 100644 --- a/bfd/mmo.c +++ b/bfd/mmo.c @@ -2129,15 +2129,12 @@ mmo_scan (bfd *abfd) static bool mmo_new_section_hook (bfd *abfd, asection *newsect) { + /* We zero-fill all fields and assume NULL is represented by an all + zero-bit pattern. */ + newsect->used_by_bfd + = bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct)); if (!newsect->used_by_bfd) - { - /* We zero-fill all fields and assume NULL is represented by an all - zero-bit pattern. */ - newsect->used_by_bfd - = bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct)); - if (!newsect->used_by_bfd) - return false; - } + return false; /* Always align to at least 32-bit words. */ newsect->alignment_power = 2; diff --git a/bfd/som.c b/bfd/som.c index 86f7f4121e4..171dbc4a393 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -5328,14 +5328,12 @@ extern const bfd_target hppa_som_vec; static bool som_new_section_hook (bfd *abfd, asection *newsect) { + size_t amt = sizeof (struct som_section_data_struct); + + newsect->used_by_bfd = bfd_zalloc (abfd, amt); if (!newsect->used_by_bfd) - { - size_t amt = sizeof (struct som_section_data_struct); + return false; - newsect->used_by_bfd = bfd_zalloc (abfd, amt); - if (!newsect->used_by_bfd) - return false; - } newsect->alignment_power = 3; /* We allow more than three sections internally. */