This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Could unwind landing pads increment the stack?
- From: Matthew Malcomson <Matthew dot Malcomson at arm dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 19 Nov 2019 17:13:41 +0000
- Subject: Could unwind landing pads increment the stack?
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xibZdBios79GY2cRYVt4/kQ8gJL/Pw7pW7a003fHAEE=; b=eQHJ8J4X0HJQJ+lXZ7GWoxs+oGpf+isR8GOPY4qlEYMIfK3qns1RoXNK0tR9zC3TnduT4lMR7b9UzMQ4xdWZ49qlYoGH96Jf+y89jq1djpnKrznrVK2wcxs+Nf6mDu6eHgFbN8ls82TGakFXsvjfizypKkKCgmM8mguDU3XXaRgjyBULrL0jPA2hk5Qn4BhxiziQCjvuLQGWRjL1OfEf/jbwWz469c0iNyXTTzOea72Lw0Z/49rgPjTW0sm7hmKZER6IzkUuQJDLsNARpb9XrVnyF/kgP1G+M15unkffhd6wnhGSojeOX5zRNKngNjFs7RFL8SH1JosgNJSl6EtS/g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KGmVXlavYR9fkYQ7mThRozVhp+hlo4y1r0wn7TQZLduHtnnYv3PPCd7+3ufV3KIB73QrYyUTRacVZmiWLkBIOMudMDV2OTRW1xlK4fWbA4ZKex8HzJ/4E3IA7PH3ZXh4nZptqkHQTszaZtkD+t8H8WL2v2KkabOu6MMqJLboAZ/MdDdP0MWXlf5pRcXRXxf80AhB2/U9dar0Z/efIUSeX6S7ZcnClTJ7JS3FMg5ICw2XHuSq4IUfGkQ8aGSH37cghSqQLBnLY1mbszPBj2hVHuXC07WRrzbBs85Kx+LRZKWuAnLG/OHYsh3N4K/fnG6c91tLUhBbczMCS73/aIwrvg==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Matthew dot Malcomson at arm dot com;
Hello,
I'm looking into how the unwind mechanism works in order to gather
information to inform how we should eventually handle exceptions in MTE.
I'm currently having a discussion on the llvm-dev list about how HWASAN
handles exceptions, and believe it has relevence.
https://lists.llvm.org/pipermail/llvm-dev/2019-November/136807.html
In the above email Peter brings up two hypothetical cases where an
unwind landing pad increments the stack pointer before calling
_Unwind_Resume.
I have not found anything in the relevant ABI documents that discounts
this possibility, but I am wondering if it happens in practice.
(if this does happen in practice, then there would be extra work if the
ABI were strengthened to ban this on MTE tagged functions).
Does anyone know if GCC could emit such a landing pad?
Cheers,
MM