From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68091 invoked by alias); 26 Sep 2018 21:54:41 -0000 Mailing-List: contact gnu-gabi-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: gnu-gabi-owner@sourceware.org Received: (qmail 68067 invoked by uid 89); 26 Sep 2018 21:54:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.1 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:684, HX-Received:sk:k1-v6mr X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-ot1-f44.google.com Received: from mail-ot1-f44.google.com (HELO mail-ot1-f44.google.com) (209.85.210.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Sep 2018 21:54:39 +0000 Received: by mail-ot1-f44.google.com with SMTP id j9-v6so553251otl.2; Wed, 26 Sep 2018 14:54:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=wV7dPjxf5hAjSNYqVjhk6+ZDAqeyLDuNNyIzQ9pZ91o=; b=cdN+Lm7+GomzQjimKku85gnr14Z8Sh8JYbPLYaQ0+neRNKWe6BsOOTqTQWzOWD9MwH sjZztYJ0oS+Xe7DmkIZmat/3pZ7iEw5xR6ITnjmOW89CcSgICp13P9qnLjN2AIQPHamw 4Oz2PX5di09fIvkVel7u758yFEcJWzOgxHttyzkttVBNMp5xSMvu0i6G4BFEvkq7zNVP mXIAqUqEHWZFMmK1lLcUfwpU1MgthjrJ5YyKPd4D1rHS+47OpYLZpm/LKGzqOaED20mq M8w7esDz4oIzoNd6FHTH+YBCS2IFT1rAMwece7xovK5I72WlAKY9u57SMwCuJvFamGDy Gj0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=wV7dPjxf5hAjSNYqVjhk6+ZDAqeyLDuNNyIzQ9pZ91o=; b=Im5VRTtoD9HD1mC8G98pqsVTyjY2AwaVaofqE8KcE1Cv1QVcADa3ui6QvNrbyzbeTM TAXNgTaV9BGO0C2pPuGZV+yicDH+i4j7gQ7tA9uu4QVuMyCpyjVYwWD6+AqtrxnmA9Oj W/ap1xC3JA87a4/aZg9ok2CtvZCUH6LR7stiMoAPNXEvjPApNtQXFH8BRyENrQZyieGR CfCSKiOlQDcZ1zby3lMXyKVuwT8GRU/drY4X6tPSRXLP4Mwvv4P0+z4fnw2SgVqmAPNL 2K1wEtnvWijniEOqeqa2thZfbVm5NZ1h1v4xsePxW4NIQEJqBHFcZW0GcBS3d7LXqsE9 YZMQ== X-Gm-Message-State: ABuFfogRoyXdEeysZjiBd0TKVCOU3wUbAP/Wsk4if/ADSD5TriLO4n5f otZvzDEoxCIytQKluSutfs8507Esg5Xedoys4ZW/rv1v X-Google-Smtp-Source: ACcGV60qFKTnW7qsN2CIP7zxWSPSYQbRLx2318OlqomSDZp8Q5LbdSW3u/XzVoPmceRxgp6FgXqvqEq7mi5yuAFkakI= X-Received: by 2002:a9d:4b81:: with SMTP id k1-v6mr5441732otf.387.1537998877916; Wed, 26 Sep 2018 14:54:37 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4a:4d44:0:0:0:0:0 with HTTP; Wed, 26 Sep 2018 14:53:57 -0700 (PDT) From: "H.J. Lu" Date: Mon, 01 Jan 2018 00:00:00 -0000 Message-ID: Subject: RFC: Add SHT_GNU_PHDRS To: gnu-gabi@sourceware.org, Binutils Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-q3/txt/msg00006.txt.bz2 When -z separate-code is used to create executable, ld won't place any data in the code-only PT_LOAD segment. If there are no data sections placed before the code-only PT_LOAD segment, the program headers won't be mapped into any PT_LOAD segment. When the executable tries to access it (based on the program header address passed in AT_PHDR), it will lead to segfault. I am proposing #define SHT_GNU_PHDRS 0x6ffffff4 /* Dummy section for program header */ This is a special read-only SHF_ALLOC zero-size data section. It is the first output section, which will force a data PT_LOAD segment with program header before the code-only PT_LOAD segment, -- H.J.