From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10262 invoked from network); 6 Mar 2021 01:30:55 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 6 Mar 2021 01:30:55 -0000 Received: (qmail 24511 invoked by uid 550); 6 Mar 2021 01:30:51 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 24493 invoked from network); 6 Mar 2021 01:30:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mforney-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Z/UfDxha9j21O0St5eLGfUgEVl9c5XEFmOpgCPqbFrA=; b=Xtoe1eP4qxcP5fg1reDqt59F7PpfD+UTKUf3xsEW2FQgTUL0ne8AhDOnqagyfXM9eh +l6XdcV/VM4svTPFB+K0hNZ1yNo4XHZsl4Ib/UX6iibxI/QUAPP6ldMajDBFgvkoxwKo aLmm8UNrHZdX8Bkh1IdBWB37mZS19jfpVdllcyRlzUJ/WqIzJWU6KThTw6ULAL31z2Wq +/NE4CkRbiVGjwjTBCPJBo5TuY259bU23D2vjJIhpPv+PI7iX38aYnQ9zz7gT6ZGTbAe nf6cm8SyrZcXXqMsfWsUwO/TXT9sSeyHtwyh4CDwgKYpEGi/UJbQFXp+9jAOYdJlpDYJ dZvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Z/UfDxha9j21O0St5eLGfUgEVl9c5XEFmOpgCPqbFrA=; b=kC91ul9UlI4DBhAxbjZNU2072o6GovJNyz7pOh5Pp5L0vFy+7at+hd/sqaIneWHLEs Gke/0EzIYZqJnvZj9IKWGfMWxhjbxWbx3nYX4IGk4Sr674j1ugQYzn8s76iH1iswAfwq Sz5pt8PlOAZuUCXWRKgGoDQeQJ13Qkn6rX9KB1WxLv3KERq5REwJTGZJC0NUvnol923A nZQACaiH7jwy0aNkZVmwJQhBczPZcG2Vw5Ju+fVEnqFgJfxv59uq99hwhIJjqzZPLIMH 6yC3agIUwmq0mqAB/XgF/olTMPKqgUqCzcVZJLlYUWoknWzBpevAGGmrg4OHT2whofH/ tvtQ== X-Gm-Message-State: AOAM531jLjzApLaoV9eH+b7oQJwtmBYQiz+y8Mlxo8CmNnEn2VNydhaH pxZUrV/uZbaQiWlARbBnBbDAuP68FvZPUI8QzmYER6tL5RCVHA== X-Google-Smtp-Source: ABdhPJx/a5EKbu6xlLimZVYImIITFIjSYQetiRpmRkfZiqdvbH4/W4f8sBW8kBokH2fpownPGmFwbAO0Qtft/JZYKPI= X-Received: by 2002:a5b:2cb:: with SMTP id h11mr18897055ybp.428.1614994238717; Fri, 05 Mar 2021 17:30:38 -0800 (PST) MIME-Version: 1.0 X-Originating-IP: [73.70.188.119] In-Reply-To: <20210306011405.g5t2pncdcbh4ebij@gmail.com> References: <2XR4N9WTZJRRB.388AF1JAC0M8E@mforney.org> <20210305150730.GN32655@brightrain.aerifal.cx> <20210305161256.GO32655@brightrain.aerifal.cx> <20210306011405.g5t2pncdcbh4ebij@gmail.com> From: Michael Forney Date: Fri, 5 Mar 2021 17:30:37 -0800 Message-ID: To: musl@lists.openwall.com Cc: Rich Felker Content-Type: multipart/mixed; boundary="000000000000ea055805bcd42545" Subject: Re: [musl] ld-musl-* and empty .eh_frame --000000000000ea055805bcd42545 Content-Type: text/plain; charset="UTF-8" On 2021-03-05, Fangrui Song wrote: > Can you clarify how GNU ld creates an empty .eh_frame? Sure, see the shell snippet in my original post. > The program header PT_GNU_EH_FRAME is created from .eh_frame_hdr, which > is created by ld --eh-frame-hdr. > If .eh_frame is empty, from my observation GNU ld does not create > .eh_frame_hdr There is no PT_GNU_EH_FRAME in the executables. Based on Rich's explanation earlier, my understanding is that the issue is that GNU ld creates a empty PT_LOAD segment for the empty .eh_frame section. I attached the output of readelf -l in case that is helpful. > https://maskray.me/blog/2020-11-08-stack-unwinding#eh_frame_hdr-and-pt_eh_frame > >>I'm not too familiar with the binutils codebase, but I can try. As far >>as I can tell, the alignment is set to at least the maximum page size: >>https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elf.c;h=84a5d942817a9a54b1170fbbb594787c5839aa54;hb=f35674005e609660f5f45005a9e095541ca4c5fe#l5601 > > max-page-size is for layouting PT_LOAD. > It is unrelated to PT_GNU_EH_FRAME. The empty PT_LOAD segment is the issue here, not PT_GNU_EH_FRAME. > The requirement is > http://www.sco.com/developers/gabi/latest/ch5.pheader.html > "p_vaddr should equal p_offset, modulo p_align." > > p_vaddr % p_align != 0 is valid. > > p_memsz can be zero. Are you saying that GNU ld might create PT_LOAD segments with zero size, and unaligned p_vaddr? If that's the case, I think Rich might have a valid concern here. --000000000000ea055805bcd42545 Content-Type: text/plain; charset="US-ASCII"; name="t-readelf.txt" Content-Disposition: attachment; filename="t-readelf.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 CkVsZiBmaWxlIHR5cGUgaXMgRVhFQyAoRXhlY3V0YWJsZSBmaWxlKQpFbnRyeSBwb2ludCAweDQw MTAyMApUaGVyZSBhcmUgOSBwcm9ncmFtIGhlYWRlcnMsIHN0YXJ0aW5nIGF0IG9mZnNldCA2NAoK UHJvZ3JhbSBIZWFkZXJzOgogIFR5cGUgICAgICAgICAgIE9mZnNldCAgICAgICAgICAgICBWaXJ0 QWRkciAgICAgICAgICAgUGh5c0FkZHIKICAgICAgICAgICAgICAgICBGaWxlU2l6ICAgICAgICAg ICAgTWVtU2l6ICAgICAgICAgICAgICBGbGFncyAgQWxpZ24KICBQSERSICAgICAgICAgICAweDAw MDAwMDAwMDAwMDAwNDAgMHgwMDAwMDAwMDAwNDAwMDQwIDB4MDAwMDAwMDAwMDQwMDA0MAogICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDFmOCAweDAwMDAwMDAwMDAwMDAxZjggIFIgICAg ICAweDgKICBJTlRFUlAgICAgICAgICAweDAwMDAwMDAwMDAwMDAyMzggMHgwMDAwMDAwMDAwNDAw MjM4IDB4MDAwMDAwMDAwMDQwMDIzOAogICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDAx OSAweDAwMDAwMDAwMDAwMDAwMTkgIFIgICAgICAweDEKICAgICAgW1JlcXVlc3RpbmcgcHJvZ3Jh bSBpbnRlcnByZXRlcjogL2xpYi9sZC1tdXNsLXg4Nl82NC5zby4xXQogIExPQUQgICAgICAgICAg IDB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDA0MDAwMDAgMHgwMDAwMDAwMDAwNDAwMDAw CiAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMzQ4IDB4MDAwMDAwMDAwMDAwMDM0OCAg UiAgICAgIDB4MTAwMAogIExPQUQgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMTAwMCAweDAwMDAw MDAwMDA0MDEwMDAgMHgwMDAwMDAwMDAwNDAxMDAwCiAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MDAwMDAwMDYwIDB4MDAwMDAwMDAwMDAwMDA2MCAgUiBFICAgIDB4MTAwMAogIExPQUQgICAgICAg ICAgIDB4MDAwMDAwMDAwMDAwMjAwMCAweDAwMDAwMDAwMDA0MDIwMDAgMHgwMDAwMDAwMDAwNDAy MDAwCiAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAw MCAgUiAgICAgIDB4MTAwMAogIExPQUQgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMmU5MCAweDAw MDAwMDAwMDA0MDJlOTAgMHgwMDAwMDAwMDAwNDAyZTkwCiAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMDAwMDAwMTkwIDB4MDAwMDAwMDAwMDAwMDE5MCAgUlcgICAgIDB4MTAwMAogIERZTkFNSUMg ICAgICAgIDB4MDAwMDAwMDAwMDAwMmU5MCAweDAwMDAwMDAwMDA0MDJlOTAgMHgwMDAwMDAwMDAw NDAyZTkwCiAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMTYwIDB4MDAwMDAwMDAwMDAw MDE2MCAgUlcgICAgIDB4OAogIEdOVV9TVEFDSyAgICAgIDB4MDAwMDAwMDAwMDAwMDAwMCAweDAw MDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwCiAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAgUldFICAgIDB4MTAKICBHTlVfUkVMUk8g ICAgICAweDAwMDAwMDAwMDAwMDJlOTAgMHgwMDAwMDAwMDAwNDAyZTkwIDB4MDAwMDAwMDAwMDQw MmU5MAogICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDE3MCAweDAwMDAwMDAwMDAwMDAx NzAgIFIgICAgICAweDEKCiBTZWN0aW9uIHRvIFNlZ21lbnQgbWFwcGluZzoKICBTZWdtZW50IFNl Y3Rpb25zLi4uCiAgIDAwICAgICAKICAgMDEgICAgIC5pbnRlcnAgCiAgIDAyICAgICAuaW50ZXJw IC5nbnUuaGFzaCAuZHluc3ltIC5keW5zdHIgLnJlbGEuZHluIC5yZWxhLnBsdCAKICAgMDMgICAg IC5wbHQgLnRleHQgCiAgIDA0ICAgICAuZWhfZnJhbWUgCiAgIDA1ICAgICAuZHluYW1pYyAuZ290 IC5nb3QucGx0IAogICAwNiAgICAgLmR5bmFtaWMgCiAgIDA3ICAgICAKICAgMDggICAgIC5keW5h bWljIC5nb3QgCg== --000000000000ea055805bcd42545--