From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6507 invoked by alias); 30 Oct 2018 07:16:39 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 6444 invoked by uid 89); 30 Oct 2018 07:16:31 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-10.6 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KHOP_DYNAMIC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=India, H*RU:sk:2018103, Hx-spam-relays-external:sk:2018103, trad X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 30 Oct 2018 07:16:29 +0000 Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w9U7B1Nu135199 for ; Tue, 30 Oct 2018 03:16:28 -0400 Received: from smtp.notes.na.collabserv.com (smtp.notes.na.collabserv.com [192.155.248.82]) by mx0a-001b2d01.pphosted.com with ESMTP id 2nejcxh0dm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 30 Oct 2018 03:16:27 -0400 Received: from localhost by smtp.notes.na.collabserv.com with smtp.notes.na.collabserv.com ESMTP for from ; Tue, 30 Oct 2018 07:16:27 -0000 Received: from us1a3-smtp06.a3.dal06.isc4sb.com (10.146.103.243) by smtp.notes.na.collabserv.com (10.106.227.105) with smtp.notes.na.collabserv.com ESMTP; Tue, 30 Oct 2018 07:16:25 -0000 Received: from us1a3-mail142.a3.dal06.isc4sb.com ([10.146.38.78]) by us1a3-smtp06.a3.dal06.isc4sb.com with ESMTP id 2018103007162455-151043 ; Tue, 30 Oct 2018 07:16:24 +0000 In-Reply-To: To: "Ulrich Weigand" , kevinb@redhat.com (Kevin Buettner) Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Adding support for reding signal handler frame in AIX From: "Sangamesh Mallayya" Date: Tue, 30 Oct 2018 07:16:00 -0000 References: from "Sangamesh Mallayya" at Sep 10, 2018 12:02:38 PM <20180912135319.E5948D80320@oc3748833570.ibm.com> X-KeepSent: 16846FC6:4A0E2CCE-65258336:002671AD; type=4; name=$KeepSent X-LLNOutbound: False X-Disclaimed: 15631 X-TNEFEvaluated: 1 x-cbid: 18103007-5101-0000-0000-00000CF40764 X-IBM-SpamModules-Scores: BY=0; FL=0; FP=0; FZ=0; HX=0; KW=0; PH=0; SC=0.40962; ST=0; TS=0; UL=0; ISC=; MB=0.226695 X-IBM-SpamModules-Versions: BY=3.00009952; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000268; SDB=6.01110024; UDB=6.00575130; IPR=6.00890116; BA=6.00006133; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00023961; XFM=3.00000015; UTC=2018-10-30 07:16:26 X-IBM-AV-DETECTION: SAVI=unsuspicious REMOTE=unsuspicious XFE=unused X-IBM-AV-VERSION: SAVI=2018-10-30 04:49:16 - 6.00009156 x-cbparentid: 18103007-5102-0000-0000-00003274070F Message-Id: Content-Type: multipart/mixed; boundary="=_mixed 0027F0FB65258336_=" MIME-Version: 1.0 X-Proofpoint-Spam-Reason: safe X-SW-Source: 2018-10/txt/msg00707.txt.bz2 --=_mixed 0027F0FB65258336_= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="US-ASCII" Content-length: 3683 Hi Ulrich/Kevin, I have modified the patch and implemented it using the trad frame cache. Please review and let me know the comments. Here is the dwarf test results summary. Right now gdb isn't properly able to debug stabs binary which i will be=20 debugging. Without patch =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 # of expected passes 18912 # of unexpected failures 2289 # of expected failures 14 # of known failures 17 # of unresolved testcases 29 # of untested testcases 64 # of unsupported tests 37 With patch =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=20 # of expected passes 18936 # of unexpected failures 2265 # of expected failures 14 # of known failures 17 # of unresolved testcases 27 # of untested testcases 65 # of unsupported tests 37 Thanks, Sangamesh From: Sangamesh Mallayya/India/IBM To: "Ulrich Weigand" Cc: gdb-patches@sourceware.org, kevinb@redhat.com (Kevin Buettner) Date: 09/27/2018 02:03 PM Subject: Re: [PATCH] Adding support for reding signal handler frame= =20 in AIX Thanks Ulrich and kevin for the review and comments. Sorry for the late reply as i was off due to personal emergency. I will have look at the suggestions and implement the new changes. Thanks, Sangamesh From: "Ulrich Weigand" To: Sangamesh Mallayya/India/IBM@IBMIN Cc: kevinb@redhat.com (Kevin Buettner), gdb-patches@sourceware.org Date: 09/12/2018 07:23 PM Subject: Re: [PATCH] Adding support for reding signal handler frame= =20 in AIX Sangamesh Mallayya wrote: > Yes. Thanks! > Earlier code was calling validate function twice which wasn't required. > We can remove that AIX ifdef and i have made the below changes. Rest=20 all=3D20 > are same. > Let me know your view on this. >=20 > # diff -u tramp-frame.c_orig tramp-frame.c > --- tramp-frame.c_orig 2018-08-27 03:25:49 +0000 > +++ tramp-frame.c 2018-09-07 10:20:09 +0000 > @@ -86,11 +86,15 @@ > struct gdbarch *gdbarch =3D3D get_frame_arch (this_frame); > enum bfd_endian byte_order =3D3D gdbarch_byte_order (gdbarch); > int ti; > + CORE_ADDR old_pc =3D3D pc; > =3D20 > /* Check if we can use this trampoline. */ > if (tramp->validate && !tramp->validate (tramp, this_frame, &pc)) > return 0; > - > + if ((tramp->insn[0].bytes =3D3D=3D3D TRAMP_SENTINEL_INSN) && > + (tramp->insn[1].bytes =3D3D=3D3D AIX_TRAMP_SENTINEL_INSN) && > + (old_pc < 0x1000000)) > + return pc; I agree with Kevin that code like this shouldn't be in common code. It looks like the underlying problem is that tramp-frame isn't a good match for what you're trying to do: tramp-frame tries to detect trampolines by matching well-known *code sequences*. However, you don't actually have any code sequence to match, but want to identify trampolines solely by their PC. Since you pass no code sequence to the tramp-frame matcher, it will actually never match. I'd suggest the best way forward is to not actually use tramp-frame at all then, but just write your own matcher based directly on a trad-frame cache. An example to look at might be s390_stub_frame_unwind. Along those lines, you can implement a sniffer that checks for special PC value (and possibly a backchain zero check in addition), and then implement this_id and prev_register routines based on a trad-frame register cache (you should be able to use the aix_sigtramp_cache routine in your patch as-is for that part). Bye, Ulrich --=20 Dr. Ulrich Weigand GNU/Linux compilers and toolchain Ulrich.Weigand@de.ibm.com --=_mixed 0027F0FB65258336_= Content-Type: application/octet-stream; name="aix-sighandle.patch" Content-Disposition: attachment; filename="aix-sighandle.patch" Content-Transfer-Encoding: base64 Content-length: 6507 LS0tIC4vZ2RiL3JzNjAwMC1haXgtdGRlcC5jX29yaWcJMjAxOC0xMC0yNyAw NjoyMzo0MSArMDAwMAorKysgLi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAx OC0xMC0yOSAxMjoyOToyNiArMDAwMApAQCAtMzgsNiArMzgsOCBAQAogI2lu Y2x1ZGUgInNvbGliLWFpeC5oIgogI2luY2x1ZGUgInRhcmdldC1mbG9hdC5o IgogI2luY2x1ZGUgInhtbC11dGlscy5oIgorI2luY2x1ZGUgInRyYWQtZnJh bWUuaCIKKyNpbmNsdWRlICJmcmFtZS11bndpbmQuaCIKIAogLyogSWYgdGhl IGtlcm5lbCBoYXMgdG8gZGVsaXZlciBhIHNpZ25hbCwgaXQgcHVzaGVzIGEg c2lnY29udGV4dAogICAgc3RydWN0dXJlIG9uIHRoZSBzdGFjayBhbmQgdGhl biBjYWxscyB0aGUgc2lnbmFsIGhhbmRsZXIsIHBhc3NpbmcKQEAgLTQ1LDEx ICs0NywxMjEgQEAKICAgIHRoZSBzaWduYWwgaGFuZGxlciBkb2Vzbid0IHNh dmUgdGhpcyByZWdpc3Rlciwgc28gd2UgaGF2ZSB0bwogICAgYWNjZXNzIHRo ZSBzaWdjb250ZXh0IHN0cnVjdHVyZSB2aWEgYW4gb2Zmc2V0IGZyb20gdGhl IHNpZ25hbCBoYW5kbGVyCiAgICBmcmFtZS4KLSAgIFRoZSBmb2xsb3dpbmcg Y29uc3RhbnRzIHdlcmUgZGV0ZXJtaW5lZCBieSBleHBlcmltZW50YXRpb24g b24gQUlYIDMuMi4gICovCisgICBUaGUgZm9sbG93aW5nIGNvbnN0YW50cyB3 ZXJlIGRldGVybWluZWQgYnkgZXhwZXJpbWVudGF0aW9uIG9uIEFJWCAzLjIu CisKKyAgIHNpZ2NvbmV4dCBzdHJ1Y3R1cmUgaGF2ZSB0aGUgbXN0c2F2ZSBz YXZlZCB1bmRlciB0aGUKKyAgIHNjX2ptcGJ1Zi5qbXBfY29udGV4dC4gU1RL TUlOKG1pbmltdW0gc3RhY2sgc2l6ZSkgaXMgNTYgZm9yIDMyLWJpdAorICAg cHJvY2Vzc2VzLCBhbmQgaWFyIG9mZnNldCB1bmRlciBzY19qbXBidWYuam1w X2NvbnRleHQgaXMgNDAuCisgICBpZSBvZmZzZXRvZihzdHJ1Y3Qgc2lnY29u dGV4dCwgc2Nfam1wYnVmLmptcF9jb250ZXh0LmlhcikuCisgICBzbyBQQyBv ZmZzZXQgaW4gdGhpcyBjYXNlIGlzIFNUS01JTitpYXIgb2Zmc2V0LCB3aGlj aCBpcyA5NiAqLworCiAjZGVmaW5lIFNJR19GUkFNRV9QQ19PRkZTRVQgOTYK ICNkZWZpbmUgU0lHX0ZSQU1FX0xSX09GRlNFVCAxMDgKKy8qIFNUS01JTitn cnAxIG9mZnNldCwgd2hpY2ggaXMgNTYrMjI4PTI4NCAqLwogI2RlZmluZSBT SUdfRlJBTUVfRlBfT0ZGU0VUIDI4NAogCisvKiA2NCBiaXQgcHJvY2Vzcy4K KyAgIFNUS01JTjY0ICBpcyAxMTIgYW5kIGlhciBvZmZzZXQgaXMgMzEyLiBT byAxMTIrMzEyPTQyNCAqLworI2RlZmluZSBTSUdfRlJBTUVfTFJfT0ZGU0VU NjQgNDI0IAorLyogU1RLTUlONjQrZ3JwMSBvZmZzZXQuIDExMis1Nj0xNjgg Ki8KKyNkZWZpbmUgU0lHX0ZSQU1FX0ZQX09GRlNFVDY0IDE2OAorCitzdGF0 aWMgc3RydWN0IHRyYWRfZnJhbWVfY2FjaGUgKgorYWl4X3NpZ2hhbmRsZV9m cmFtZV9jYWNoZSAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCisJ CQkgICB2b2lkICoqdGhpc19jYWNoZSkKK3sKKyAgTE9OR0VTVCBiYWNrY2hh aW47CisgIENPUkVfQUREUiBiYXNlLCBiYXNlX29yaWcsIGZ1bmM7CisgIHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKHRoaXNf ZnJhbWUpOworICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJj aF90ZGVwIChnZGJhcmNoKTsKKyAgaW50IHdvcmRzaXplID0gdGRlcC0+d29y ZHNpemU7CisgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJj aF9ieXRlX29yZGVyIChnZGJhcmNoKTsKKyAgc3RydWN0IHRyYWRfZnJhbWVf Y2FjaGUgKnRoaXNfdHJhZF9jYWNoZTsKKworICBpZiAoKCp0aGlzX2NhY2hl KSAhPSBOVUxMKQorICAgIHJldHVybiAoc3RydWN0IHRyYWRfZnJhbWVfY2Fj aGUgKikgKCp0aGlzX2NhY2hlKTsKKworICB0aGlzX3RyYWRfY2FjaGUgPSB0 cmFkX2ZyYW1lX2NhY2hlX3phbGxvYyAodGhpc19mcmFtZSk7CisgICgqdGhp c19jYWNoZSkgPSB0aGlzX3RyYWRfY2FjaGU7CisKKyAgYmFzZSA9IGdldF9m cmFtZV9yZWdpc3Rlcl91bnNpZ25lZCAodGhpc19mcmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RiYXJjaF9zcF9yZWdu dW0gKGdkYmFyY2gpKTsKKyAgYmFzZV9vcmlnID0gYmFzZTsKKworICBpZiAo d29yZHNpemUgPT0gNCkgeworICAgIGZ1bmMgPSByZWFkX21lbW9yeV91bnNp Z25lZF9pbnRlZ2VyIChiYXNlX29yaWcgKworCQkJCQkgU0lHX0ZSQU1FX1BD X09GRlNFVCArIDgsIAorCQkJCQkgdGRlcC0+d29yZHNpemUsIGJ5dGVfb3Jk ZXIpOworICAgIHNhZmVfcmVhZF9tZW1vcnlfaW50ZWdlciAoYmFzZV9vcmln ICsgU0lHX0ZSQU1FX0ZQX09GRlNFVCArIDgsCisJCQkgICAgICB3b3Jkc2l6 ZSwgYnl0ZV9vcmRlciwgJmJhY2tjaGFpbik7CisgICAgYmFzZSA9IChDT1JF X0FERFIpYmFja2NoYWluOworICB9IGVsc2UgeworICAgIGZ1bmMgPSByZWFk X21lbW9yeV91bnNpZ25lZF9pbnRlZ2VyIChiYXNlX29yaWcgKworCQkJCQkg U0lHX0ZSQU1FX0xSX09GRlNFVDY0LAorCQkJCQkgdGRlcC0+d29yZHNpemUs IGJ5dGVfb3JkZXIpOyAKKyAgICBzYWZlX3JlYWRfbWVtb3J5X2ludGVnZXIg KGJhc2Vfb3JpZyArIFNJR19GUkFNRV9GUF9PRkZTRVQ2NCwKKwkJCSAgICAg IHdvcmRzaXplLCBieXRlX29yZGVyLCAmYmFja2NoYWluKTsKKyAgICBiYXNl ID0gKENPUkVfQUREUiliYWNrY2hhaW47CisgIH0KKworICB0cmFkX2ZyYW1l X3NldF9yZWdfdmFsdWUgKHRoaXNfdHJhZF9jYWNoZSwgZ2RiYXJjaF9wY19y ZWdudW0gKGdkYmFyY2gpLCBmdW5jKTsKKyAgdHJhZF9mcmFtZV9zZXRfcmVn X3ZhbHVlICh0aGlzX3RyYWRfY2FjaGUsIGdkYmFyY2hfc3BfcmVnbnVtIChn ZGJhcmNoKSwgYmFzZSk7CisKKyAgaWYgKHdvcmRzaXplID09IDQpIHsKKyAg ICB0cmFkX2ZyYW1lX3NldF9yZWdfYWRkciAodGhpc190cmFkX2NhY2hlLCB0 ZGVwLT5wcGNfbHJfcmVnbnVtLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiYXNlX29yaWcgKyAweDM4ICsgNTIgKyA4KTsKKyAgfSBlbHNlIHsK KyAgICB0cmFkX2ZyYW1lX3NldF9yZWdfYWRkciAodGhpc190cmFkX2NhY2hl LCB0ZGVwLT5wcGNfbHJfcmVnbnVtLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiYXNlX29yaWcgKyAweDcwICsgMzIwKTsKKyAgfQorCisgIHRy YWRfZnJhbWVfc2V0X2lkICh0aGlzX3RyYWRfY2FjaGUsIGZyYW1lX2lkX2J1 aWxkIChiYXNlLCBmdW5jKSk7CisgIHRyYWRfZnJhbWVfc2V0X3RoaXNfYmFz ZSAodGhpc190cmFkX2NhY2hlLCBiYXNlKTsKKworICByZXR1cm4gdGhpc190 cmFkX2NhY2hlOworfQorCitzdGF0aWMgdm9pZAorYWl4X3NpZ2hhbmRsZV9m cmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwK KwkJCSAgICAgdm9pZCAqKnRoaXNfcHJvbG9ndWVfY2FjaGUsCisJCQkgICAg IHN0cnVjdCBmcmFtZV9pZCAqdGhpc19pZCkKK3sKKyAgc3RydWN0IHRyYWRf ZnJhbWVfY2FjaGUgKnRoaXNfdHJhZF9jYWNoZQorICAgID0gYWl4X3NpZ2hh bmRsZV9mcmFtZV9jYWNoZSAodGhpc19mcmFtZSwgdGhpc19wcm9sb2d1ZV9j YWNoZSk7CisgIHRyYWRfZnJhbWVfZ2V0X2lkICh0aGlzX3RyYWRfY2FjaGUs IHRoaXNfaWQpOworfQorCitzdGF0aWMgc3RydWN0IHZhbHVlICoKK2FpeF9z aWdoYW5kbGVfZnJhbWVfcHJldl9yZWdpc3RlciAoc3RydWN0IGZyYW1lX2lu Zm8gKnRoaXNfZnJhbWUsCisJCQkJICAgdm9pZCAqKnRoaXNfcHJvbG9ndWVf Y2FjaGUsIGludCByZWdudW0pCit7CisgIHN0cnVjdCB0cmFkX2ZyYW1lX2Nh Y2hlICp0aGlzX3RyYWRfY2FjaGUKKyAgICA9IGFpeF9zaWdoYW5kbGVfZnJh bWVfY2FjaGUgKHRoaXNfZnJhbWUsIHRoaXNfcHJvbG9ndWVfY2FjaGUpOyAK KyAgcmV0dXJuIHRyYWRfZnJhbWVfZ2V0X3JlZ2lzdGVyICh0aGlzX3RyYWRf Y2FjaGUsIHRoaXNfZnJhbWUsIHJlZ251bSk7Cit9IAorCitpbnQKK2FpeF9z aWdoYW5kbGVfZnJhbWVfc25pZmZlciAoY29uc3Qgc3RydWN0IGZyYW1lX3Vu d2luZCAqc2VsZiwKKwkJCSAgICAgc3RydWN0IGZyYW1lX2luZm8gKnRoaXNf ZnJhbWUsCisJCQkgICAgIHZvaWQgKip0aGlzX3Byb2xvZ3VlX2NhY2hlKQor eworICBDT1JFX0FERFIgcGMgPSBnZXRfZnJhbWVfcGMgKHRoaXNfZnJhbWUp OworICBpZiAocGMgJiYgcGMgPCBBSVhfVEVYVF9TRUdNRU5UX0JBU0UpCisg ICAgcmV0dXJuIDE7CisKKyAgcmV0dXJuIDA7Cit9CisKKy8qIEFJWCBzaWdu YWwgaGFuZGxlciBmcmFtZSB1bndpbmRlciAqLworCitzdGF0aWMgY29uc3Qg c3RydWN0IGZyYW1lX3Vud2luZCBhaXhfc2lnaGFuZGxlX2ZyYW1lX3Vud2lu ZCA9IHsKKyAgU0lHVFJBTVBfRlJBTUUsCisgIGRlZmF1bHRfZnJhbWVfdW53 aW5kX3N0b3BfcmVhc29uLAorICBhaXhfc2lnaGFuZGxlX2ZyYW1lX3RoaXNf aWQsCisgIGFpeF9zaWdoYW5kbGVfZnJhbWVfcHJldl9yZWdpc3RlciwKKyAg TlVMTCwKKyAgYWl4X3NpZ2hhbmRsZV9mcmFtZV9zbmlmZmVyCit9OwogCiAv KiBDb3JlIGZpbGUgc3VwcG9ydC4gICovCiAKQEAgLTEwNjEsNiArMTE3Myw3 IEBACiAgIHNldF9nZGJhcmNoX2F1dG9fd2lkZV9jaGFyc2V0IChnZGJhcmNo LCByczYwMDBfYWl4X2F1dG9fd2lkZV9jaGFyc2V0KTsKIAogICBzZXRfc29s aWJfb3BzIChnZGJhcmNoLCAmc29saWJfYWl4X3NvX29wcyk7CisgIGZyYW1l X3Vud2luZF9hcHBlbmRfdW53aW5kZXIgKGdkYmFyY2gsICZhaXhfc2lnaGFu ZGxlX2ZyYW1lX3Vud2luZCk7CiB9CiAKIHZvaWQK --=_mixed 0027F0FB65258336_= Content-Type: application/octet-stream; name="ChangeLog_gdb" Content-Disposition: attachment; filename="ChangeLog_gdb" Content-Transfer-Encoding: base64 Content-length: 432 MjAxOC0xMC0zMCAgU2FuZ2FtZXNoIE1hbGxheXlhIDxzYW5nYW1lc2guc3dh bXlAaW4uaWJtLmNvbT4KCgkqIHJzNjAwMC1haXgtdGRlcC5jOiBOZXcgc2ln bmFsIGhhbmRsZXIgZnJhbWVfdW53aW5kZXIgc3RydWN0dXJlLgoJKGFpeF9z aWdoYW5kbGVfZnJhbWVfY2FjaGUpOiBOZXcgRnVuY3Rpb24uCgkoYWl4X3Np Z2hhbmRsZV9mcmFtZV90aGlzX2lkKTogTmV3IEZ1bmN0aW9uLgoJKGFpeF9z aWdoYW5kbGVfZnJhbWVfcHJldl9yZWdpc3Rlcik6IE5ldyBGdW5jdGlvbi4K CShhaXhfc2lnaGFuZGxlX2ZyYW1lX3NuaWZmZXIpOiBOZXcgRnVuY3Rpb24u IAo= --=_mixed 0027F0FB65258336_= Content-Type: application/octet-stream; name="ChangeLog_testsuites" Content-Disposition: attachment; filename="ChangeLog_testsuites" Content-Transfer-Encoding: base64 Content-length: 208 MjAxOC0xMC0zMCAgU2FuZ2FtZXNoIE1hbGxheXlhIDxzYW5nYW1lc2guc3dh bXlAaW4uaWJtLmNvbT4KCgkqIGdkYi5iYXNlL2FpeC1zaWdoYW5kbGVfdGVz dC5jOiBOZXcgZmlsZS4KCSogZ2RiLmJhc2UvYWl4LXNpZ2hhbmRsZV90ZXN0 LmV4cDogTmV3IGZpbGUuCg== --=_mixed 0027F0FB65258336_= Content-Type: application/octet-stream; name="aix-sighandle_test.c" Content-Disposition: attachment; filename="aix-sighandle_test.c" Content-Transfer-Encoding: Quoted-printable Content-length: 1059 /* Copyright 2018 Free Software Foundation, Inc.=0A= =0A= This program is free software; you can redistribute it and/or modify=0A= it under the terms of the GNU General Public License as published by=0A= the Free Software Foundation; either version 3 of the License, or=0A= (at your option) any later version.=0A= =0A= This program is distributed in the hope that it will be useful,=0A= but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= GNU General Public License for more details.=0A= =0A= You should have received a copy of the GNU General Public License=0A= along with this program. If not, see . */=0A= =0A= #include =0A= #include =0A= #include =0A= =0A= void sig_handle_aix (int signo)=0A= {=0A= printf ("signal is: %d\n", signo);=0A= }=0A= =0A= void foo()=0A= {=0A= char *ptr;=20=0A= signal (SIGSEGV, sig_handle_aix);=0A= strcpy (ptr, "signal");=0A= }=0A= =0A= int main()=0A= {=0A= foo ();=0A= }=0A= --=_mixed 0027F0FB65258336_= Content-Type: application/octet-stream; name="aix-sighandle_test.exp" Content-Disposition: attachment; filename="aix-sighandle_test.exp" Content-Transfer-Encoding: Quoted-printable Content-length: 1739 # Copyright 2018 Free Software Foundation, Inc.=0A= #=0A= # This program is free software; you can redistribute it and/or modify=0A= # it under the terms of the GNU General Public License as published by=0A= # the Free Software Foundation; either version 3 of the License, or=0A= # (at your option) any later version.=0A= #=0A= # This program is distributed in the hope that it will be useful,=0A= # but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= # GNU General Public License for more details.=0A= #=0A= # You should have received a copy of the GNU General Public License=0A= # along with this program. If not, see .=0A= =0A= if {![istarget "powerpc*-*-aix*"]} {=0A= return=0A= }=0A= =0A= if { [prepare_for_testing "failed to prepare" aix-sighandle_test aix-sighan= dle_test.c] } {=0A= return -1=0A= }=0A= =0A= set srcfile aix-sighandle_test.c=0A= set binfile aix-sighandle_test=0A= =0A= gdb_test "break sig_handle_aix" \=0A= "Breakpoint.1.at.*:.file.*$srcfile,.line.22." \=0A= "breakpoint sig_handle_aix"=0A= gdb_test "run" \=0A= "Starting.program:.*$binfile.*\r\nProgram.received.signal.SIGSEGV,.*\r\n.= *.in.foo.*.at.*$srcfile:29.*" \=0A= "run to breakpoint sig_handle_aix"=0A= =0A= gdb_test "continue" \=0A= "Continuing.*Breakpoint.1,.sig_handle_aix..signo=3D11..at.*$srcfile:22.*"= \=0A= "continue to breakpoint sig_handle_aix"=0A= =0A= gdb_test_sequence "backtrace" "backtrace for sighandle" {=0A= "\[\r\n\]+#0 .* sig_handle_aix \\(signo=3D11\\) at "=0A= "\[\r\n\]+#1 .* .signal.handler.called."=0A= "\[\r\n\]+#2 .* foo \\(\\) at "=0A= "\[\r\n\]+#3 .* main \\(\\) at "=0A= }=0A= --=_mixed 0027F0FB65258336_=--