From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by sourceware.org (Postfix) with ESMTPS id E01D03858D3C for ; Mon, 14 Feb 2022 23:01:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E01D03858D3C From: Hans-Peter Nilsson To: Subject: [PATCH 02/12] sim/testsuite/cris: Assembler testcase for PRIx32 usage bug MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8BIT Message-ID: <20220214230113.BA08A20439@pchp3.se.axis.com> Date: Tue, 15 Feb 2022 00:01:13 +0100 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2022 23:01:16 -0000 Several C test-cases exposed the bug, but let's have one for people who test using just the assembler and linker. * asm/endmem1.ms: New test. --- sim/testsuite/cris/asm/endmem1.ms | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 sim/testsuite/cris/asm/endmem1.ms diff --git a/sim/testsuite/cris/asm/endmem1.ms b/sim/testsuite/cris/asm/endmem1.ms new file mode 100644 index 000000000000..ff9e334c38a9 --- /dev/null +++ b/sim/testsuite/cris/asm/endmem1.ms @@ -0,0 +1,47 @@ +# mach: crisv3 crisv8 crisv10 crisv32 + +; Check that the simulator and the program agrees on the +; value of endmem; the base point for further allocations. + + .include "testutils.inc" + start + +; First, get the end of memory by calling brk with 0 to get +; the current value. + clear.d $r10 + movu.w 0x2d,$r9 + break 13 + +; Get one more 8192-byte page. + addu.w 8192,$r10 + +; Save it in a (call- and) syscall-saved register. + move.d $r10,$r0 + +; Call brk again to raise the value. + movu.w 0x2d,$r9 + break 13 + +; If the simulator messed up internally, it'd have exited +; with an error at the brk call. But, let's sanity-check +; the return-value: it should be the same as the input and +; the allocated memory should be accessible. + cmp.d $r10,$r0 + beq 0f + nop + +1: + fail + +0: +; Check that we can write and read the last address on that +; page. + subq 4,$r10 + move.d 0xbad1d101,$r12 + move.d $r12,[$r10] + move.d [$r10],$r11 + cmp.d $r11,$r12 + bne 1b + nop + + pass -- 2.30.2