From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 2879E3858D32 for ; Mon, 10 Jul 2023 11:35:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2879E3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ibm.com Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36ABH0Pn021150 for ; Mon, 10 Jul 2023 11:35:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : content-type : mime-version; s=pp1; bh=N6KFOQAwlB3eobKxBRLFMA/4Te3n1Hiv3yDZndXSBIM=; b=NI52GUws2CYwN6Hfp+4RmKS9BnS0AuhaUOmIrTGDAsYAG3H3JLItyTzcF8oHCLqkpZIJ D8DclaoCc12o2eJIGuwxVCQFRCLEUSjHGEsiA7HbLnVyKf7+tJ594fDj1HTsMYutzSta 9f1FgDRpAueRYrylOLENvcM81hRqYvcPvxBdlnOpTsayAn+NgMHqDYihwOPChHJaBW+5 uZojs89hTm01X1TK+bjpvHgtHbO23mIJK7n0G5KoCfO4S8Daa6fviE0yS5GxsV7UFWiL qSqNfNF8Al7jgvPwwhZxVfbWU+8t/83Zv+0uNetdO4YvQ1mgNNGwLL7ne3xkdIpb5aff AQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3rrgyt8ebe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Jul 2023 11:35:12 +0000 Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 36ABJVZB028290 for ; Mon, 10 Jul 2023 11:35:12 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3rrgyt8eam-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 10 Jul 2023 11:35:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vv6eYxaQQ5HXodJJ5kHJcDzKZP1rsa644VqXqaOamTxS/oBbZgWa1qmpMjAVY+nPqethuEj1GCoVYifLdKyx0Cxzxx0IYM2u2c+zI4WPcV8D/VBPN+xfXNb3PCuNuYNyVAZ5ymzxrZEypBGLq3uWwLv8HQt+E6hB6CZddY5p7VEE0v7vMvVna1zaWw58SabsvAzGqW2PE3EelaiEr/1lh/vqmnGT/43fo6iDxFhaiO9DtXUK6aSXsCH7QThA9LP0rCziIr7LQmQftlGyzkRBzNWfBf0F/R5q+j3auWVjoHLnKG+cuEeuHCRWB6W2Otli4kAJCxGM+lQcnrdwGHy+TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=N6KFOQAwlB3eobKxBRLFMA/4Te3n1Hiv3yDZndXSBIM=; b=RkJz36iEz8fzL7095BkqMwCNOF8DuKcPKDcFadxW3QRDJVrfahzLt4agqksr6D+03BsNaPh8htajRjHYTlPhGQyJta0MJ60Y2ZWcUXQDNRvwVSGCkWCeyZY14Yi0b1fYKm8/zMxKVW4wDodNddWCGZviqOJZx0Oiw6r9wG3ciWKDZU8Ftx3nPhDa8oog/0kwNbU0wqIuLiAc0fbzs+8V1ViJT2OpGEHDfPFYRDTYGCDnIJUHMPIIe8jPnuDadEUZ8Ey8tELHxryLFl60ArxJVw7HDAmkbbJbVKFu7DbvbdskjZPGwEPTbLOEAbunIG6ywM5L2TP/4DuJZy7AzN7frw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by MW3PR15MB3754.namprd15.prod.outlook.com (2603:10b6:303:48::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.31; Mon, 10 Jul 2023 11:35:09 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9186:12ce:3c1d:29b4]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9186:12ce:3c1d:29b4%6]) with mapi id 15.20.6565.028; Mon, 10 Jul 2023 11:35:09 +0000 From: Aditya Kamath1 To: Ulrich Weigand , Aditya Kamath1 via Gdb-patches CC: Alan Modra , Alan Modra , Sangamesh Mallayya Subject: [Patch] Fix AIX shared library load broken during fork (). Thread-Topic: [Patch] Fix AIX shared library load broken during fork (). Thread-Index: AQHZsx46O4x5Eccv/UGl44+jcpfoFA== Date: Mon, 10 Jul 2023 11:35:09 +0000 Message-ID: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|MW3PR15MB3754:EE_ x-ms-office365-filtering-correlation-id: d12fe5d1-4c61-4cb9-6712-08db8139b747 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wjTd2jxEZbxCiYXvieFtXOTkbjUlynD+ddM/71uhcGW1HIVYQ+FfoJa01jaCqHIwQuiq2vK2n7AsC6EX+Ih3jbnhCz9wZU1q1d9SkfyS2lmuelVPSj8kA1Yb5+HTe0Tt7lUH37Mt4wLqFPzsX5uip94c6enZRpXoM7kAW2TQwPQC63kKiHFk0eH4/tam8OnYqFx0K606OLr07yyTTr+QwuBADty4FHGub7OSgBrLoLPBVRRCbEqRnH8yd41kG+2RE/w7YyTuosPpApZH/yRFt73aSK2ZLPQktiZCGnAfZtc+txg6GFdd3kw9RzDfpaxHZ5uRfSeekob+sul7FFgNPnZmEpXctH2IVpQuJApxVwEQHmCTM67txhbihEejzxKlxjMHF3utwbVPwtyxb9LUTD9CSuB+ooM8thJgxPJHZ1ZrGG6if2A+wivLVDZLlXoCP5sUpR1X4xgIkRNHtf9okTdjbAUdEpp0UrqfNjBTIn150YRntFqDgb0PTlqCYCvzZaTfJGYWFLmLnb0kz6PD/k6ZyqtBhLtzwHIZhVm7f5PXODNCLsFxu3RinldXmpDnyLBzR265CzBDH4MQOffaRsG1nqF60uG7LapVbyGYUXfjfp3WTby2jpL72JYM9Xvw x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR15MB3544.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199021)(9686003)(966005)(99936003)(166002)(38100700002)(122000001)(6506007)(83380400001)(186003)(4743002)(55016003)(21615005)(2906002)(33656002)(52536014)(5660300002)(8676002)(8936002)(71200400001)(7696005)(478600001)(38070700005)(4326008)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(41300700001)(316002)(54906003)(110136005)(91956017)(86362001)(2004002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?JGbCpB0cQKsLuflROvVyHkCgh18mXZ4wjX7ETmJ7maknNmpNvNFrb2Wo72lh?= =?us-ascii?Q?fmJjQy6EvRNhNCVQnmxh4SdU2pe3nXb+/3Gp7x1sKsiZTozqv6s0y8sxs14+?= =?us-ascii?Q?9LBy5HWa+qwZlC7G3QBttHaefrr+njquf5KcIGyd+Tpbqv010+P1g6Ir7LA6?= =?us-ascii?Q?5mh7IL5ERI+gFrctSl6SkrFRKW/Frg+Qio+6E3vlu+Rm7lgoexpitKGOPP83?= =?us-ascii?Q?w94OSOItTv6UxwQi9vBDgtbaGYdhgHjx0g7XQ7HQIvwpzhZk4KSTmn7cqa12?= =?us-ascii?Q?tPdQZ5Sky5q8QQfp6Tuibzdsgy4Dvlj6Y+fsmDoUTC6eN7EnRtskV+xMOn69?= =?us-ascii?Q?iXZw7EdLdBe5zOfaffVDouZ5GHQ+u9piY14r3Qe+fqh+frgn3AzHtKJ8vyCU?= =?us-ascii?Q?s6eZ88SWMba1xtA5ZSjhFS2MEQHXnEc1qx3okhUPyt051KEf+sSR8oGWxYQY?= =?us-ascii?Q?60OmhnJwqyETwWPsyEoejD5c1Xi+ehpZrs0IU63UOcDkTiCDiRiYkAUnbZXL?= =?us-ascii?Q?iHGk6qVloU2WQkRBjmpi05OAYszqeKwPR6Ndham4qqKu08BNVcHHk3vDShGI?= =?us-ascii?Q?GlPEvFbr6PtAtJwwYdSvJhfV6/ihOp6iMU6DiD7g6lk4kvMJ14P1xtAVXGT0?= =?us-ascii?Q?WaGGjbVkubBqQBqSE7caHJW8Dx+tDFcGRqsjr6Bnwx3WOlluabOjVcevzYcO?= =?us-ascii?Q?iywFKHCGL9iDr1pa4a0JcdTvVLW9JDdLXP28WB9WyzMys3OywhM0rSg+Ac9x?= =?us-ascii?Q?JIdpcUBYpj5a0s0Dcu0U8FiTbmxk+Trxk9Z8IgN6eXUkzHyuiue+HRykEdT7?= =?us-ascii?Q?ze2Mvcaoj8HE8YxasDifeRai1yQ6WaD6jhCy2DRjERNAaOAYaVCJgp3o9oq2?= =?us-ascii?Q?SlMpYdgiYruJWB7vu2nN/JoIX2gimYlHQbMdKenTDF6+jJYlOE1eKz2lxuZ+?= =?us-ascii?Q?+kdTT6w8jlsgLhpsOD7c7/ZsKlIDJGPqFNPiN9r3avB5jkyOf6T1FAazQG2j?= =?us-ascii?Q?2Ev9iTonMs7pnYItoHxVFyEN/K5gqHu38lAxFoaa6Fa9Jv2oazy8DYTfyeXF?= =?us-ascii?Q?iw6E1codl+9PBPmPghiOiPsvdOcgdhXqJK7ItnS2KICey20F8d88iCxLiF8Q?= =?us-ascii?Q?NPlijsPeEpdsutHX6MxNw/RUEJfUu9gcda6lizczrb8Rj60ZKr6pgQXz9Uag?= =?us-ascii?Q?bDJWELE2Lvbr0HwPC5sx5K1ErYrawqEh9TIPMrgyAUV+Lq9YeqjNck30Sm+6?= =?us-ascii?Q?Kjn+NXwDL8C2a6DQa8d2bPKGhVBSBD0NDxDeg+QwXkDDpg49wkiyHWeNLOlO?= =?us-ascii?Q?OUiPcnT/rYUJH14PiUL5FDU3Q4bJX4ONRbsWdkzxCc0+3nrkWPzhnJuhtsHZ?= =?us-ascii?Q?PYZ3PgwOhLxSG6/i27WM0MuC/rOBw6L1ZpcUn8BIiQJEL3sFivv0h2eF5h22?= =?us-ascii?Q?3VyRQ55No475ZY4BSL7kntw6LeBb/gEmeJBi8cmzUyuijlB9l6bhB6o2H0Si?= =?us-ascii?Q?VQM8YAW7Ko4jxCxOpHeu49EoDCXzkPhleLxtiSWxWQLi8cdWuas3FmaeSUDR?= =?us-ascii?Q?ueLB/gmQNKKfqTqFRBDp9s7XrdYKhefunuhR96Qw45/NUDnNz1QlOgn4WjP2?= =?us-ascii?Q?Cdajvzm+UsL0Z6R8bf7dSbhh7L63HRZ1GB3kHsjV5VawS5j9Abb/uGhAuTpV?= =?us-ascii?Q?hmA46w=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_" X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d12fe5d1-4c61-4cb9-6712-08db8139b747 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2023 11:35:09.0919 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O2vuHYKAXf3KAoM5bvl25AQsXiqMeX96i7CHLoLUgDg56g6Frxoh8iIX9P//0W8buTmjoVT8mCVctyssUD/9dQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR15MB3754 X-Proofpoint-ORIG-GUID: v_bZ0cerm3oMm1PJAJ-apCXmuMdmc7hx X-Proofpoint-GUID: IS8HolMYlbIUHmCexuabRc5w3t4buCsj X-Proofpoint-UnRewURL: 134 URL's were un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-10_08,2023-07-06_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 mlxlogscore=999 priorityscore=1501 lowpriorityscore=0 phishscore=0 clxscore=1015 impostorscore=0 mlxscore=0 adultscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307100105 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,KAM_SHORT,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_004_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_" --_000_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Respected Ulrich and GDB community members, Hi, Please find attached a patch. {See: 0001-Fix-AIX-shared-library-load-broken= -during-fork.patch} This is a patch to fix the loading of the shared library during the fork ()= event. In the recent commit {https://sourceware.org/git/?p=3Dbinutils-gdb.git;a=3D= commitdiff;h=3Dde7b90610e9e939c49290229c282eb9171c560b9} the committer ment= ions that he has added a add_range () function which now adds a start, end = range which now guards anyone from calling or having two or more file point= er pointing to the same file in the archive. So, if this is the case, then = we BFD goes to execute the following condition + if (bfd_seek (abfd, (namlen & 1) + SXCOFFARFMAG, SEEK_CUR) !=3D 0 + || !add_range (abfd, start, abfd->where + ret->parsed_size)) + { + free (ret); + return NULL; + } We will satisy the add_range () part of the OR condition and free the ret v= ariable and return NULL. Kindly note this happens in the coff-rs6000.c file= in bfd directory. As an impact of this in our GDB code in solib-aix.c file during a fork () e= vent, after the parent shared libraries are loaded and the child shared lib= rary in going to be loaded, when GDB executes the line. gdb_bfd_ref_ptr object_bfd (gdb_bfd_openr_next_archived_file (archive_bfd.get (), NULL)); in search of the object file in the archive, but object_bfd we receive is N= ULL. Then the while (object_bfd !=3D NULL) does not satisfy and we cannot l= oad the shared the library. As result in AIX for Example code 1 {pasted below this email} we see the o= utput as shown below. ---------------------------------------------------------------------------= --------------------------------------------------------- bash-5.1$ ./gdb ~/gdb_tests/multi-thread-fork GNU gdb (GDB) 14.0.50.20230602-git Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "powerpc64-ibm-aix7.2.0.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/aditya/gdb_tests/multi-thread-fork... (gdb) set detach-on-fork off (gdb) r Starting program: /home/aditya/gdb_tests/multi-thread-fork [New Thread 258] [New Thread 515] [New inferior 2 (process 25166094)] warning: "/usr/lib/libpthreads.a": member "shr_comm.o" missing. warning: "/usr/lib/libpthread.a": member "shr_xpg5.o" missing. warning: "/usr/lib/libc.a": member "shr.o" missing. warning: Could not load shared library symbols for 3 libraries, e.g. /usr/l= ib/libpthreads.a(shr_comm.o). Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"? I am parent [New process 10551700] [New inferior 3 (process 9306438)] warning: "/usr/lib/libpthreads.a": member "shr_comm.o" missing. warning: "/usr/lib/libpthread.a": member "shr_xpg5.o" missing. warning: "/usr/lib/libc.a": member "shr.o" missing. warning: Could not load shared library symbols for 3 libraries, e.g. /usr/l= ib/libpthreads.a(shr_comm.o). Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"? I am parent Thread 1.4 received signal SIGINT, Interrupt. [Switching to process 10551700] 0xd0595fb0 in _p_nsleep () from /usr/lib/libpthread.a(shr_xpg5.o) (gdb) inferior 2 [Switching to inferior 2 [process 25166094] (/home/aditya/gdb_tests/multi-t= hread-fork)] [Switching to thread 2.1 (process 25166094)] #0 0xd0594fc8 in ?? () (gdb) info sharedlibrary =46rom To Syms Read Shared Object Library No /usr/lib/libpthreads.a(shr_comm.o) 0xd05bb240 0xd05bb9a1 Yes (*) /usr/lib/libcrypt.a(shr.o) No /usr/lib/libpthread.a(shr_xpg5.o) No /usr/lib/libc.a(shr.o) (*): Shared library is missing debugging information. (gdb) ---------------------------------------------------------------------------= --------------------------------------------------------- So, what I tried in this patch is to keep the pointers pointing to a shared= object file stored in a vector and when BFD does not find any object file = use the already stored pointer pointing to the shared object for the new in= ferior. After applying the patch, the output is as below:- ---------------------------------------------------------------------------= --------------------------------------------------------- bash-5.1$ ./gdb ~/gdb_tests/multi-thread-fork GNU gdb (GDB) 14.0.50.20230602-git Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "powerpc64-ibm-aix7.2.0.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: https://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/aditya/gdb_tests/multi-thread-fork... (gdb) set detach-on-fork off (gdb) r Starting program: /home/aditya/gdb_tests/multi-thread-fork [New Thread 258] [New Thread 515] [New inferior 2 (process 27984338)] [New process 10551730] [New inferior 3 (process 28049732)] I am parent I am parent Thread 1.4 received signal SIGINT, Interrupt. [Switching to process 10551730] 0xd0595fb0 in _p_nsleep () from /usr/lib/libpthread.a(shr_xpg5.o) (gdb) inferior 2 [Switching to inferior 2 [process 27984338] (/home/aditya/gdb_tests/multi-t= hread-fork)] [Switching to thread 2.1 (process 27984338)] #0 0xd0594fc8 in _sigsetmask () from /usr/lib/libpthread.a(shr_xpg5.o) (gdb) info sharedlibrary =46rom To Syms Read Shared Object Library 0xd05bc124 0xd05bf194 Yes (*) /usr/lib/libpthreads.a(shr_comm.o) 0xd05bb240 0xd05bb9a1 Yes (*) /usr/lib/libcrypt.a(shr.o) 0xd0576180 0xd05ba731 Yes (*) /usr/lib/libpthread.a(shr_xpg5.o) 0xd0100dc0 0xd0575123 Yes (*) /usr/lib/libcrypt.a(shr.o) (*): Shared library is missing debugging information. (gdb) info threads Id Target Id Frame 1.1 Thread 1 (tid 25625035, running) 0xd0595fb0 in _p_nsleep () from /= usr/lib/libpthread.a(shr_xpg5.o) 1.2 Thread 258 (tid 39256515, running) thread_function (arg=3D0x0) at /h= ome/aditya/gdb_tests/multi-thread-fork.c:27 1.3 Thread 515 (tid 35193173, running) thread_function (arg=3Dwarning: (= Internal error: pc 0x0 in read in psymtab, but not in symtab.) 0x0) at /home/aditya/gdb_tests/multi-thread-fork.c:27 1.4 process 10551730 0xd0595fb0 in _p_nsleep () from /= usr/lib/libpthread.a(shr_xpg5.o) * 2.1 process 27984338 0xd0594fc8 in _sigsetmask () from= /usr/lib/libpthread.a(shr_xpg5.o) 3.1 process 28049732 0xd0594fc8 in _sigsetmask () from= /usr/lib/libpthread.a(shr_xpg5.o) ---------------------------------------------------------------------------= --------------------------------------------------------- So, the idea was almost close to solving it but still at distance from it. = But I see that the parent process 10551730 which was a thread target is now= reflecting as a process target as an impact of the same. In fact, the thre= ad target is being set correctly for the parent process while I debugged th= e issue. So, I currently, do not know why this target mismatch has happened and is i= t because of using the same pointers for the child process as well. Since you are all experts, kindly guide me on where my analysis has gone wr= ong and what we can do to fix this issue. Also kindly review this patch. Waiting for a reply, Have a nice day ahead. Thanks and regards, Aditya. ---------------------------------------------------------------------------= --------------------------------------------------------- Example Code 1:- #include #include #include #include #include pthread_barrier_t barrier; #define NUM_THREADS 2 void * thread_function (void *arg) { /* This ensures that the breakpoint is only hit after both threads are created, so the test can always switch to the non-event thread when the breakpoint triggers. */ pthread_barrier_wait (&barrier); pid_t child; child =3D fork (); if (child > 0) printf ("I am parent \n"); else printf (" Iam child \n"); while (1); /* break here */ } int main (void) { int i; alarm (300); pthread_barrier_init (&barrier, NULL, NUM_THREADS); for (i =3D 0; i < NUM_THREADS; i++) { pthread_t thread; int res; res =3D pthread_create (&thread, NULL, thread_function, NULL); assert (res =3D=3D 0); } while (1) sleep (1); return 0; } --_000_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_-- --_004_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-AIX-shared-library-load-broken-during-fork.patch" Content-Description: 0001-Fix-AIX-shared-library-load-broken-during-fork.patch Content-Disposition: attachment; filename="0001-Fix-AIX-shared-library-load-broken-during-fork.patch"; size=2820; creation-date="Mon, 10 Jul 2023 11:29:22 GMT"; modification-date="Mon, 10 Jul 2023 11:29:22 GMT" Content-Transfer-Encoding: base64 RnJvbSBkZmJlOWNkZjk5ZjMzMjY3YTFjY2YzMGU4Zjg3MjVmNDA4MzVkN2M5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFk aGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4KRGF0ZTogTW9u LCAxMCBKdWwgMjAyMyAwNTo1NzowMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IEZpeCBBSVggc2hhcmVkIGxpYnJhcnkgbG9hZCBicm9rZW4gZHVyaW5nIGZv cmsgKCkuCgpUaGlzIHBhdGNoIGlzIGEgZml4IHRvIHRoZSBBSVggc2hhcmVk IGxpYnJhcnkgbm90IGxvYWRpbmcKZm9yIGEgbmV3IGluZmVyaW9yIGR1cmlu ZyBhIGZvcmsgKCkgZXZlbnQuICBUaGUgcmVhc29uIGJlaW5nIGluCkFJWCB3 ZSBhcmNoaXZlIHNoYXJlZCBsaWJyYXJpZXMgYW5kIHdlIGFyZSBub3QgYWxs b3dlZCB0byBoYXZlIG1hbnkKcG9pbnRlcnMgcG9pbnRpbmcgdG8gdGhlIHNh bWUgYXJjaGl2ZSBmaWxlIGFzIHBlciBhIHJlY2VudCBjb21taXQgaW4gYmZk LgoKU28gd2Uga2VlcCB0cmFjayBvZiBldmVyeSBwb2ludGVyIHBvaW50aW5n IHRvIGEgc2hhcmVkIG9iamVjdCBpbiBhbiBhcmNoaXZlCnN1Y2ggdGhhdCB0 aGUgbmV3IGluZmVyaW9yIGNhbiByZXVzZSB0aGVtLgotLS0KIGdkYi9zb2xp Yi1haXguYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLWFpeC5jIGIv Z2RiL3NvbGliLWFpeC5jCmluZGV4IDkzYWE2YzRlMDQwLi4wMGMxMmE2ZTMx NCAxMDA2NDQKLS0tIGEvZ2RiL3NvbGliLWFpeC5jCisrKyBiL2dkYi9zb2xp Yi1haXguYwpAQCAtMjksNiArMjksMTUgQEAKICNpbmNsdWRlICJnZGJjbWQu aCIKICNpbmNsdWRlICJnZGJzdXBwb3J0L3Njb3BlLWV4aXQuaCIKIAorLyog VmVjdG9yIHRvIGtlZXAgdGhlIHBvaW50ZXIgdG8gb2JqZWN0IGluIGFuIGFy Y2hpdmUuICAqLworCisvKiBPbmNlIGFjY2Vzc2VkIHdlIGFyZSBub3QgYWJs ZSB0byByZWZlciB0aGUgc2FtZSBvYmplY3QKKyAgIHdpdGggYSBkaWZmZXJl bnQgcG9pbnRlciBkdWUgdG8gYWRkX3JhbmdlICgpIGluIGJmZC4KKyAgIFNv IHdlIG1haW50YWluIHRoZSBwb2ludGVycyBpbiB0aGlzIHZlY3RvciB0byBh Y2Nlc3MKKyAgIHRoZW0gZHVyaW5nIGV2ZXJ5IHNoYXJlZCBsaWJyYXJ5IGxv YWQgZm9yIGEgbmV3IGluZmVyaW9yLiAgKi8KKworc3RkOjp2ZWN0b3I8Z2Ri X2JmZF9yZWZfcHRyPiBvYmplY3RfYmZkX3ZlY3RvcjsKKwogLyogT3VyIHBy aXZhdGUgZGF0YSBpbiBzdHJ1Y3Qgc29fbGlzdC4gICovCiAKIHN0cnVjdCBs bV9pbmZvX2FpeCA6IHB1YmxpYyBsbV9pbmZvX2Jhc2UKQEAgLTYwNSwxMCAr NjE0LDMzIEBAIHNvbGliX2FpeF9iZmRfb3BlbiAoY29uc3QgY2hhciAqcGF0 aG5hbWUpCiAKICAgZ2RiX2JmZF9yZWZfcHRyIG9iamVjdF9iZmQKICAgICAo Z2RiX2JmZF9vcGVucl9uZXh0X2FyY2hpdmVkX2ZpbGUgKGFyY2hpdmVfYmZk LmdldCAoKSwgTlVMTCkpOworICBpZiAob2JqZWN0X2JmZCA9PSBOVUxMKQor ICAgIHsKKyAgICAgIGF1dG8gaXQgPSBvYmplY3RfYmZkX3ZlY3Rvci5iZWdp biAoKTsKKyAgICAgIHdoaWxlIChpdCAhPSBvYmplY3RfYmZkX3ZlY3Rvci5l bmQgKCkpCisJeworCSAgZ2RiX2JmZF9yZWZfcHRyIG9iamVjdF9iZmRfdG1w ID0gKml0OworCSAgc3RkOjpzdHJpbmcgcyA9IGJmZF9nZXRfZmlsZW5hbWUg KG9iamVjdF9iZmRfdG1wLmdldCAoKSk7CisJICBpZiAocy5maW5kICgnKCcp ICE9IHN0ZDo6c3RyaW5nOjpucG9zKQorCSAgICB7CisJICAgICAgaW50IHBv cyA9IHMuZmluZCAoJygnKTsKKwkgICAgICBpbnQgbGVuID0gcy5maW5kICgn KScpIC0gcy5maW5kICgnKCcpOworCSAgICAgIC8qIEZvciBhIG5ldyBpbmZl cmlvciB3aGljaCBjYW5ub3QgYWNjZXNzIHRoZSBmaWxlIGluIAorCQkgaXRz IHBhcmVudCB3b3VsZCBiZSBoYXZpbmcgYSBwb2ludGVyIHRvIHRoZSBzYW1l CisJCSBmaWxlLCB3ZSB3aWxsIHJldHVybiB0aGUgcGFyZW50J3MgYmRmIHJl ZiBwdHIuICAqLworCSAgICAgIGlmIChzLnN1YnN0ciAocG9zKzEsIGxlbi0x KSA9PSBtZW1iZXJfbmFtZSkKKwkJcmV0dXJuIG9iamVjdF9iZmRfdG1wOwor CSAgICB9CisJICBpdCsrOworCX0KKyAgICB9CiAgIHdoaWxlIChvYmplY3Rf YmZkICE9IE5VTEwpCiAgICAgewogICAgICAgaWYgKG1lbWJlcl9uYW1lID09 IGJmZF9nZXRfZmlsZW5hbWUgKG9iamVjdF9iZmQuZ2V0ICgpKSkKLQlicmVh azsKKwl7CisJICBvYmplY3RfYmZkX3ZlY3Rvci5wdXNoX2JhY2sgKG9iamVj dF9iZmQpOworCSAgYnJlYWs7CisJfQogCiAgICAgICBzdGQ6OnN0cmluZyBz ID0gYmZkX2dldF9maWxlbmFtZSAob2JqZWN0X2JmZC5nZXQgKCkpOwogCkBA IC02MjEsNyArNjUzLDEwIEBAIHNvbGliX2FpeF9iZmRfb3BlbiAoY29uc3Qg Y2hhciAqcGF0aG5hbWUpCiAJICBpbnQgcG9zID0gcy5maW5kICgnKCcpOwog CSAgaW50IGxlbiA9IHMuZmluZCAoJyknKSAtIHMuZmluZCAoJygnKTsKIAkg IGlmIChzLnN1YnN0ciAocG9zKzEsIGxlbi0xKSA9PSBtZW1iZXJfbmFtZSkK LQkgICAgcmV0dXJuIG9iamVjdF9iZmQ7CisJICAgIHsKKwkgICAgICBvYmpl Y3RfYmZkX3ZlY3Rvci5wdXNoX2JhY2sgKG9iamVjdF9iZmQpOworCSAgICAg IHJldHVybiBvYmplY3RfYmZkOworCSAgICB9CiAJfQogCiAgICAgICBvYmpl Y3RfYmZkID0gZ2RiX2JmZF9vcGVucl9uZXh0X2FyY2hpdmVkX2ZpbGUgKGFy Y2hpdmVfYmZkLmdldCAoKSwKLS0gCjIuMzguMwoK --_004_CH2PR15MB354471EE8BAD9701059162D7D630ACH2PR15MB3544namp_--