From owner-freebsd-arch@freebsd.org Fri Sep 8 17:36:55 2017 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 30C5CE004FB for ; Fri, 8 Sep 2017 17:36:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 1D094638D5 for ; Fri, 8 Sep 2017 17:36:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 1930EE004FA; Fri, 8 Sep 2017 17:36:55 +0000 (UTC) Delivered-To: arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18CA1E004F9 for ; Fri, 8 Sep 2017 17:36:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED84F638D4 for ; Fri, 8 Sep 2017 17:36:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-2.local (unknown [50.235.236.73]) by mail.baldwin.cx (Postfix) with ESMTPSA id 26A3710A7DB for ; Fri, 8 Sep 2017 13:36:53 -0400 (EDT) To: arch@freebsd.org From: John Baldwin Subject: ELF auxiliary vector tags Message-ID: Date: Fri, 8 Sep 2017 13:36:52 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Fri, 08 Sep 2017 13:36:53 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Sep 2017 17:36:55 -0000 Currently, each architecture defines a list of auxiliary vector tag values (AT_*) in the respective . Most of these lists are identical except that powerpc is missing AT_GID and AT_EGID and all the of the vectors after those two are thus N-2 on powerpc compared to all our other architectures. I noticed this while working on patches to add AT_HWCAP for ARM which debuggers can use to determine the layout of VFP registers (and which might have other uses at runtime). I'd like to move AT_* to sys/elf_common.h to have a single list across all platforms (the auxv parsing code in GDB for FreeBSD already assumes the list of AT_* values is identical across all platforms on FreeBSD). However, it would be convenient it powerpc could be updated to use the same values as all other platforms. This would probably be a flag day for powerpc (breaking all existing binaries) if we did it though, so I'm not sure if we can do that? I know Justin changed time_t to 64-bit on 32-bit powerpc which effectively broke 32-bit powerpc earlier, but this change would break both 32-bit and 64-bit powerpc and is probably more disruptive (in theory some binaries might have worked with a wrong time_t, but renumber AT_STACKPROT, etc. will probably break every binary). Does anyone object to making AT_* MI, and if not, can we "break" powerpc or do we need to preserve the AT_* values on powerpc? -- John Baldwin