From: Mark Wielaard Date: Sat, 29 Mar 2025 20:21:45 +0000 (+0100) Subject: arm/v6intThumb: Disable tests for instructions modifying pc (ldr pc, add pc) X-Git-Tag: VALGRIND_3_25_0~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ae32e44d1e891dd2adbb056b0bb127b21efc1b67;p=thirdparty%2Fvalgrind.git arm/v6intThumb: Disable tests for instructions modifying pc (ldr pc, add pc) The test doesn't compile. /usr/bin/ld: v6intThumb-v6intThumb.o(.text+0xf2): unresolvable R_ARM_THM_CALL relocation against symbol `printf@@GLIBC_2.4' Changing the movw and movt into a ldr as suggested in https://bugs.kde.org/show_bug.cgi?id=339862#c1 Causes a different compile error. /tmp/ccveFwf0.s:140: Error: offset out of range So disable it for now. --- diff --git a/none/tests/arm/v6intThumb.c b/none/tests/arm/v6intThumb.c index e05b90085..7b769cedd 100644 --- a/none/tests/arm/v6intThumb.c +++ b/none/tests/arm/v6intThumb.c @@ -344,7 +344,7 @@ static int gen_cvin(int cvin) //////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// - +/* __attribute__((noinline)) void test_ldr_pc(void) { // special case of ldr PC, [rN, +imm?] @@ -395,6 +395,7 @@ void test_ldr_pc(void) { } } +*/ static int old_main(void) { @@ -649,7 +650,7 @@ static int old_main(void) TESTCARRYEND - test_ldr_pc(); + // test_ldr_pc(); #if 0 printf("ROR\n"); TESTCARRY diff --git a/none/tests/arm/v6intThumb.stdout.exp b/none/tests/arm/v6intThumb.stdout.exp index 9169f8865..52404cf76 100644 --- a/none/tests/arm/v6intThumb.stdout.exp +++ b/none/tests/arm/v6intThumb.stdout.exp @@ -17316,8 +17316,6 @@ ldrh r1, label_magic_ldrh :: rd 0x0000881b, cpsr 0xc0000000 NZ ldrsb r1, label_magic_ldrsb :: rd 0x0000001b, cpsr 0xc0000000 NZ ldrsh r1, label_magic_ldrsh :: rd 0xffff881b, cpsr 0xc0000000 NZ vldr d0, label_magic_vldr :: s0 0x8191881b s1 0x18fe9c93, cpsr 0xc0000000 NZ -tests for instructions modifying pc (ldr pc, add pc) -ldr.w pc, [r9, +#432] :: r1 0x0000002a c:v-in 0, cpsr 0xc0000000 NZ MUL mul r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ mul r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ