Re: [PATCH]-Change gdb.base/examine-backwards.exp testcase for AIX

Aditya Kamath1
2023-11-06T13:29:03Z

[-- Attachment #1.1: Type: text/plain, Size: 1231 bytes --]

Hi Ulrich,

Please find attached the patch. See:- 0001-Change-gdb.base-examine-backwards.exp-for-AIX.patch

>>So shall we remove this const and create the git patch?

>Yes, I think this would be the better solution.

Kindly push this patch if there are no changes. If not let me know.

Thanks and regards,
Aditya.

From: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Date: Monday, 6 November 2023 at 6:37 PM
To: gdb-patches@sourceware.org <gdb-patches@sourceware.org>, Aditya Kamath1 <Aditya.Kamath1@ibm.com>
Cc: Sangamesh Mallayya <sangamesh.swamy@in.ibm.com>
Subject: Re: [PATCH]-Change gdb.base/examine-backwards.exp testcase for AIX
Aditya Kamath1 <Aditya.Kamath1@ibm.com> wrote:
>> I assume the existing dummy assignment
>> int dummy = Barrier[0] + TestStrings[0] + TestStringsH[0] + TestStringsW[0];
>> is optimized out on AIX for some reason?
>>
>> Does it work if you move "dummy" to be global variable,
>> and/or make the Barrier and TestStrings* variable non-const?
>
>Yes Ulrich. It works if we make variables non-const. Kindly see the output below.

OK, good.

>So shall we remove this const and create the git patch?

Yes, I think this would be the better solution.

Bye,
Ulrich

[-- Attachment #1.2: Type: text/html, Size: 3686 bytes --]

[-- Attachment #2: 0001-Change-gdb.base-examine-backwards.exp-for-AIX.patch --]
[-- Type: application/octet-stream, Size: 1968 bytes --]

From a4b0d9061af90c1470ac1fb9a0b66252bca70f06 Mon Sep 17 00:00:00 2001
From: Aditya Vidyadhar Kamath <Aditya.Kamath1@ibm.com>
Date: Mon, 6 Nov 2023 07:26:24 -0600
Subject: [PATCH] Change gdb.base/examine-backwards.exp for AIX.

In AIX unused or constant variables are collected as garbage by the linker and in the dwarf dump
an address with all f's in hexadecimal are assigned. Hence the testcase fails with many failures stating
it cannot access memory.

This patch is a small change to get it working in AIX as well.
---
gdb/testsuite/gdb.base/examine-backward.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gdb/testsuite/gdb.base/examine-backward.c b/gdb/testsuite/gdb.base/examine-backward.c
index e30b58fb005..354c2e2f323 100644
--- a/gdb/testsuite/gdb.base/examine-backward.c
+++ b/gdb/testsuite/gdb.base/examine-backward.c
@@ -36,11 +36,11 @@ literals. The content of each array is the same as followings:
TestStrings, to avoid showing garbage when we look for strings
backwards from TestStrings. */

-const unsigned char Barrier[] = {
+unsigned char Barrier[] = {
0x00,
};

-const unsigned char TestStrings[] = {
+unsigned char TestStrings[] = {
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
@@ -54,7 +54,7 @@ const unsigned char TestStrings[] = {
0x00
};

-const short TestStringsH[] = {
+short TestStringsH[] = {
0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048,
0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
@@ -67,7 +67,7 @@ const short TestStringsH[] = {
0x0000
};

-const int TestStringsW[] = {
+int TestStringsW[] = {
0x00000041, 0x00000042, 0x00000043, 0x00000044,
0x00000045, 0x00000046, 0x00000047, 0x00000048,
0x00000049, 0x0000004a, 0x0000004b, 0x0000004c,
--
2.38.3