From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7897) id EB7B53857B99; Wed, 5 Oct 2022 09:58:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EB7B53857B99 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664963899; bh=NtjapetZ4/G8ajMWsxO7b+z2n5rS1uVg+zOJzT86zpQ=; h=From:To:Subject:Date:From; b=unVLo+pIF23iJ1NTFfA/TtfE1pwOtSG/SttX5pFBrvvulU55Jdn04th9WlzcXlcSu qlI6Scpxyn+rgeBMQKITqJmmyqmdh9L5i9Btm0DpK0FMzmBJtiNFytrRkhPxHBpbnl aJNlRimPPPm58sHew7Evbr/NPzJ9LExyQ6+jK0Uw= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Torbjorn Svensson To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-3081] testsuite: 'b' instruction can't do long enough jumps X-Act-Checkin: gcc X-Git-Author: =?utf-8?q?Torbj=C3=B6rn_SVENSSON?= X-Git-Refname: refs/heads/master X-Git-Oldrev: fa8e3a055a082e38aeab2561a5016b01ebfd6ebd X-Git-Newrev: 1a46a0a8b30405ea353a758971634dabeee89eaf Message-Id: <20221005095819.EB7B53857B99@sourceware.org> Date: Wed, 5 Oct 2022 09:58:19 +0000 (GMT) List-Id: https://gcc.gnu.org/g:1a46a0a8b30405ea353a758971634dabeee89eaf commit r13-3081-g1a46a0a8b30405ea353a758971634dabeee89eaf Author: Torbjörn SVENSSON Date: Mon Sep 19 18:18:58 2022 +0200 testsuite: 'b' instruction can't do long enough jumps After moving the testglue in commit 9d503515cee, the jump to exit and abort is too far for the 'b' instruction on Cortex-M0. As most of the C code would generate a 'bl' instruction instead of a 'b' instruction, lets do the same for the inline assembler. The error seen without this patch: /tmp/cccCRiCl.o: in function `main': stack-protector-1.c:(.text+0x4e): relocation truncated to fit: R_ARM_THM_JUMP11 against symbol `__wrap_exit' defined in .text section in gcc_tg.o stack-protector-1.c:(.text+0x50): relocation truncated to fit: R_ARM_THM_JUMP11 against symbol `__wrap_abort' defined in .text section in gcc_tg.o collect2: error: ld returned 1 exit status gcc/testsuite/ChangeLog: * gcc.target/arm/stack-protector-1.c: Use 'bl' instead of 'b' instruction. * gcc.target/arm/stack-protector-3.c: Likewise. Co-Authored-By: Yvan ROUX Signed-off-by: Torbjörn SVENSSON Diff: --- gcc/testsuite/gcc.target/arm/stack-protector-1.c | 4 ++-- gcc/testsuite/gcc.target/arm/stack-protector-3.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/stack-protector-1.c b/gcc/testsuite/gcc.target/arm/stack-protector-1.c index 8d28b0a847c..3f0ffc9c3f3 100644 --- a/gcc/testsuite/gcc.target/arm/stack-protector-1.c +++ b/gcc/testsuite/gcc.target/arm/stack-protector-1.c @@ -56,8 +56,8 @@ asm ( " ldr r1, [sp, #4]\n" CHECK (r1) " mov r0, #0\n" -" b exit\n" +" bl exit\n" "1:\n" -" b abort\n" +" bl abort\n" " .size main, .-main" ); diff --git a/gcc/testsuite/gcc.target/arm/stack-protector-3.c b/gcc/testsuite/gcc.target/arm/stack-protector-3.c index b8f77fa2309..2f710529b8f 100644 --- a/gcc/testsuite/gcc.target/arm/stack-protector-3.c +++ b/gcc/testsuite/gcc.target/arm/stack-protector-3.c @@ -26,7 +26,7 @@ asm ( " .type __stack_chk_fail, %function\n" "__stack_chk_fail:\n" " movs r0, #0\n" -" b exit\n" +" bl exit\n" " .size __stack_chk_fail, .-__stack_chk_fail" );