From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 23722 invoked from network); 23 Apr 2020 11:59:55 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with UTF8ESMTPZ; 23 Apr 2020 11:59:55 -0000 Received: (qmail 23677 invoked by uid 550); 23 Apr 2020 11:59:53 -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 23650 invoked from network); 23 Apr 2020 11:59:52 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587643181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=i/Eho5ZkDPCv1iQBC0gN4aMFQWMWH0vfyCxyAToIDjY=; b=OAetb7VMpkl0s1Pv32O1BmeyUc52dkvG6rq7k6VOpQE1RQe4zcHcbG/vp3zdjQ6YIiHNdt k6gx46hayxjmR5PKJvmkFCGKSOXsaapFYED/I9R6IAOirTmhPqzrIE1in6swpgIbWasrSQ nlzB5YmKP9TBUBeDdCtZUa+ESZdOI4Q= X-MC-Unique: bPxNKkxnNkO4lvk-e-X7Pg-1 To: musl@lists.openwall.com References: <20200406220403.3moghw2llo34e6gh@gmail.com> <20200407131707.1220892-1-harald@redhat.com> From: Harald Hoyer Autocrypt: addr=harald@redhat.com; prefer-encrypt=mutual; keydata= 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 c50Oh9DmB0husntsgcPErX1M8dbOhE7AoYlx Message-ID: <90b5cc62-a3b5-7808-5a81-fcb43d647df3@redhat.com> Date: Thu, 23 Apr 2020 13:59:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200407131707.1220892-1-harald@redhat.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [musl] [PATCH] Enable linking to a static position independent executable Hello, currently this patch version is in Fedora's musl-gcc rpm and seems to work just fine. Any more changes needed? Any concerns? Do I need to do additional tasks to submit that as a PR? Stay healthy! Harald Am 07.04.20 um 15:17 schrieb harald@redhat.com: > From: Harald Hoyer > > This also enables address space layout randomization (ASLR). > > $ cat hello.c > > int main() > { > printf("main = 0x%lxd\n", main); > return 0; > } > > $ gcc -static-pie -o hello hello.c -specs musl-gcc.specs > > $ ldd hello > statically linked > > $ file hello > hello: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=24fe0d02b0558dc37b8ae2268878b118804ae72d, with debug_info, not stripped > > $ ./hello > main = 0x7f858c4e72b9d > > $ ./hello > main = 0x7f0854d312b9d > > $ ./hello > main = 0x7f7179a1d2b9d > > $ ./hello > main = 0x7f37f981b2b9d > > $ readelf -l hello > > Elf file type is DYN (Shared object file) > Entry point 0x1058 > There are 9 program headers, starting at offset 64 > > Program Headers: > Type Offset VirtAddr PhysAddr > FileSiz MemSiz Flags Align > LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000 > 0x00000000000003c0 0x00000000000003c0 R 0x1000 > LOAD 0x0000000000001000 0x0000000000001000 0x0000000000001000 > 0x0000000000002cce 0x0000000000002cce R E 0x1000 > LOAD 0x0000000000004000 0x0000000000004000 0x0000000000004000 > 0x0000000000001550 0x0000000000001550 R 0x1000 > LOAD 0x0000000000005e50 0x0000000000006e50 0x0000000000006e50 > 0x00000000000002e0 0x00000000000009a0 RW 0x1000 > DYNAMIC 0x0000000000005e70 0x0000000000006e70 0x0000000000006e70 > 0x0000000000000170 0x0000000000000170 RW 0x8 > NOTE 0x0000000000000238 0x0000000000000238 0x0000000000000238 > 0x0000000000000024 0x0000000000000024 R 0x4 > GNU_EH_FRAME 0x0000000000004b60 0x0000000000004b60 0x0000000000004b60 > 0x00000000000001ec 0x00000000000001ec R 0x4 > GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000 RW 0x10 > GNU_RELRO 0x0000000000005e50 0x0000000000006e50 0x0000000000006e50 > 0x00000000000001b0 0x00000000000001b0 R 0x1 > > Section to Segment mapping: > Segment Sections... > 00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .rela.dyn > 01 .init .plt .text .fini > 02 .rodata .eh_frame_hdr .eh_frame > 03 .init_array .fini_array .data.rel.ro .dynamic .got .got.plt .data .bss > 04 .dynamic > 05 .note.gnu.build-id > 06 .eh_frame_hdr > 07 > 08 .init_array .fini_array .data.rel.ro .dynamic .got > --- > tools/musl-gcc.specs.sh | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > mode change 100644 => 100755 tools/musl-gcc.specs.sh > > diff --git a/tools/musl-gcc.specs.sh b/tools/musl-gcc.specs.sh > old mode 100644 > new mode 100755 > index 30492574..4d93626a > --- a/tools/musl-gcc.specs.sh > +++ b/tools/musl-gcc.specs.sh > @@ -17,13 +17,13 @@ cat < libgcc.a%s %:if-exists(libgcc_eh.a%s) > > *startfile: > -%{!shared: $libdir/Scrt1.o} $libdir/crti.o crtbeginS.o%s > +%{shared:;static:$libdir/crt1.o%s; static-pie:$libdir/rcrt1.o%s; pie:$libdir/Scrt1.o%s; :$libdir/crt1.o%s} $libdir/crti.o%s %{static:crtbeginT.o%s; shared|static-pie|pie:crtbeginS.o%s; :crtbegin.o%s} > > *endfile: > -crtendS.o%s $libdir/crtn.o > +%{static:crtend.o%s; shared|static-pie|pie:crtendS.o%s; :crtend.o%s} $libdir/crtn.o%s > > *link: > --dynamic-linker $ldso -nostdlib %{shared:-shared} %{static:-static} %{rdynamic:-export-dynamic} > +%{!r:--build-id} --no-add-needed %{!static|static-pie:--eh-frame-hdr} --hash-style=gnu %{shared:-shared} %{!shared:%{!static:%{!static-pie:%{rdynamic:-export-dynamic} -dynamic-linker $ldso}} %{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}} > > *esp_link: > >