From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 274B2385741A for ; Fri, 29 Oct 2021 07:35:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 274B2385741A Received: by mail-pl1-x631.google.com with SMTP id r5so6301565pls.1 for ; Fri, 29 Oct 2021 00:35:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition; bh=W1hh9NGH5oXHZwinI/CAxpxDU1AjJ6ZQlsftvd4NGJw=; b=tRhIej7ImESmtdWDBfDqcFHwJtRXt4cKZdx8mN5jaf4mIDcYgVlTESwEUE2aLzj5cV I8EMFOSG4E8qdh/Kn4Yc5G4UCvfv3cJmkEGeO0dhM2o85SZvDu8qrORqluG6ayu0tCLM CmYrg/rW3lXbCPvWv/x/gyRlSI5+eVimSIoPY+bFOj+EvHb6fMYIoDt0QOPdq1s4uzzk pOJEpFJgfxoKB/BJe1Orlc/yxsIBw9bZe7Q6TW7NaxxGM2QkFIH+5atrZhqLSmsWUSPP W2oQ4LmbABkJOCM+Nxe1WiaNZeMCMAWZHLO+iQAsOdDAZMCc1oVAk9Q44jFiumv89bkF pg4w== X-Gm-Message-State: AOAM531f/orAH4/zUMi2POjDY5EzRSkQi9BpUBUxkBmFMHHPkQ99RPXO AnFv4EYxpnND0PmVe9Sta3BD1C4WZho= X-Google-Smtp-Source: ABdhPJyBXVSALMPNeQdISLWM7m+nx/9F95rZ5uHxAsdHsUKOWjHWu8BPq3po8YF8uZsZDuv4gN7Vcw== X-Received: by 2002:a17:902:6544:b0:13e:dd16:bd5b with SMTP id d4-20020a170902654400b0013edd16bd5bmr8371666pln.61.1635492955889; Fri, 29 Oct 2021 00:35:55 -0700 (PDT) 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 d11sm1566349pfj.167.2021.10.29.00.35.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Oct 2021 00:35:55 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 48A641140968; Fri, 29 Oct 2021 18:05:52 +1030 (ACDT) Date: Fri, 29 Oct 2021 18:05:52 +1030 From: Alan Modra To: binutils@sourceware.org Subject: obcopy vs. files with silly section alignment Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3038.7 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Oct 2021 07:35:58 -0000 We already ignore stupid segment alignment when rewriting headers, ignore section alignment too. * elf.c (rewrite_elf_program_header): Ignore section alignment power greater than 62. diff --git a/bfd/elf.c b/bfd/elf.c index cd8280e5551..4df144b04f0 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -6953,9 +6953,14 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd, bfd_vma maxpagesize) && !(SEGMENT_AFTER_SEGMENT (seg1, seg2, p_paddr) \ || SEGMENT_AFTER_SEGMENT (seg2, seg1, p_paddr))) - /* Initialise the segment mark field. */ + /* Initialise the segment mark field, and discard stupid alignment. */ for (section = ibfd->sections; section != NULL; section = section->next) - section->segment_mark = false; + { + asection *o = section->output_section; + if (o != NULL && o->alignment_power >= (sizeof (bfd_vma) * 8) - 1) + o->alignment_power = 0; + section->segment_mark = false; + } /* The Solaris linker creates program headers in which all the p_paddr fields are zero. When we try to objcopy or strip such a -- Alan Modra Australia Development Lab, IBM