[PATCH][Binutils, readelf] arm: Support for new pacbti unwind opcode 0xb5.

Srinath Parvathaneni srinath.parvathaneni@arm.com
Fri Nov 11 10:53:55 GMT 2022


Hi,

This patch adds readelf support for decoding the exception table opcode "0xb5",
which indicates to use effective vsp as modifier for PAC validation as defined
by EHABI (https://github.com/ARM-software/abi-aa/releases/download/2022Q3/ehabi32.pdf
Section 10.3).

The testcase for this support is in the continuation patch
https://sourceware.org/pipermail/binutils/2022-November/124328.html

Regression testing for arm-none-eabi target and found no regressions.

Ok for binutils-master?

Regards,
Srinath.

binutils/ChangeLog:

2022-11-07  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

        * readelf.c (decode_arm_unwind_bytecode): Add entry to decode opcode
	0xb5.


###############     Attachment also inlined for ease of reply    ###############


diff --git a/binutils/readelf.c b/binutils/readelf.c
index 4d8e540b39b1a7089bbb31026ddbc597e3621731..c8323539a21f3d3ba757e364c06c3dc0e6e7fade 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -9916,6 +9916,8 @@ decode_arm_unwind_bytecode (Filedata *                 filedata,
 	}
       else if (op == 0xb4)
 	printf (_("     pop {ra_auth_code}"));
+      else if (op == 0xb5)
+	printf (_("     vsp as modifier for PAC validation"));
       else if ((op & 0xf8) == 0xb8 || (op & 0xf8) == 0xd0)
 	{
 	  unsigned int count = op & 0x07;



-------------- next part --------------
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 4d8e540b39b1a7089bbb31026ddbc597e3621731..c8323539a21f3d3ba757e364c06c3dc0e6e7fade 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -9916,6 +9916,8 @@ decode_arm_unwind_bytecode (Filedata *                 filedata,
 	}
       else if (op == 0xb4)
 	printf (_("     pop {ra_auth_code}"));
+      else if (op == 0xb5)
+	printf (_("     vsp as modifier for PAC validation"));
       else if ((op & 0xf8) == 0xb8 || (op & 0xf8) == 0xd0)
 	{
 	  unsigned int count = op & 0x07;





More information about the Binutils mailing list