From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30719 invoked by alias); 22 Mar 2010 14:03:25 -0000 Received: (qmail 30572 invoked by uid 22791); 22 Mar 2010 14:03:23 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40 X-Spam-Check-By: sourceware.org Received: from mail-px0-f204.google.com (HELO mail-px0-f204.google.com) (209.85.216.204) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 22 Mar 2010 14:03:19 +0000 Received: by pxi42 with SMTP id 42so414742pxi.24 for ; Mon, 22 Mar 2010 07:03:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.5.29 with SMTP id 29mr2249547wfe.102.1269266592249; Mon, 22 Mar 2010 07:03:12 -0700 (PDT) In-Reply-To: <20100316200424.GA29097@caradoc.them.org> References: <4B9FCA21.9020904@vmware.com> <20100316200424.GA29097@caradoc.them.org> From: Hui Zhu Date: Mon, 22 Mar 2010 14:03:00 -0000 Message-ID: Subject: Re: [RFA 3/5] Prec: x86 segment register support: target To: Michael Snyder , Daniel Jacobowitz Cc: gdb-patches ml , "H.J. Lu" Content-Type: multipart/mixed; boundary=00504502b18f5b38aa0482642887 X-IsSubscribed: yes 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 X-SW-Source: 2010-03/txt/msg00751.txt.bz2 --00504502b18f5b38aa0482642887 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2345 Thanks Michael and Daniel. I make a patch to add base of segments registers to x86-32: (gdb) info reg eax 0xffffd514 -10988 ecx 0x1eda96c5 517641925 edx 0x1 1 ebx 0xf7fb1ff4 -134537228 esp 0xffffd488 0xffffd488 ebp 0xffffd488 0xffffd488 esi 0x8048510 134513936 edi 0x80483d0 134513616 eip 0x8048487 0x8048487 eflags 0x246 [ PF ZF IF ] cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x63 99 cs_base 0x0 0 ss_base 0x0 0 ds_base 0x0 0 es_base 0x0 0 fs_base 0x0 0 gs_base 0xf7e528d0 -135976752 I try it in x86-32 pc and 32bit code in x86-64. It works OK. Please help me review it. Best regards, Hui 2010-03-22 Hui Zhu * features/i386/32bit-linux.xml (org.gnu.gdb.i386.linux): Add cs_base, ss_base, ds_base, es_base, fs_base and gs_base. * i386-tdep.h (i386_segment_base_regnum): New enum. * amd64-linux-nat.c (GDT_ENTRY_TLS_MIN, GDT_ENTRY_TLS_MAX): New marco. (ps_get_thread_area): New extern. (amd64_linux_fetch_inferior_registers): Add code to get 32 bits segment registers base. * i386-linux-nat.c (GDT_ENTRY_TLS_ENTRIES, GDT_ENTRY_TLS_MIN, GDT_ENTRY_TLS_MAX): New marco. (ps_get_thread_area): New extern. (i386_linux_fetch_inferior_registers): Add code to get segment registers base. On Wed, Mar 17, 2010 at 04:04, Daniel Jacobowitz wro= te: > On Tue, Mar 16, 2010 at 11:12:49AM -0700, Michael Snyder wrote: >> However, isn't target.c the wrong place for this function? >> Wouldn't it belong better in the gdbarch? =A0It is architecture- >> specific, if I understand correctly. >> >> That is, this will be the same between i386-ptrace and i386-remote, >> but different between i386-remote and (say) mips-remote. > > IMO, these should simply be added as new registers. =A0Since the name > $gs is already taken, why not add a $gs_base register? > > H.J. Lu has recently converted the i386 target to use target > descriptions; it should be easy to add new registers now. > They could go in 32bit-linux.xml or in some other file that could be > shared among OS's. =A0H.J. may have some more ideas. > > -- > Daniel Jacobowitz > CodeSourcery > --00504502b18f5b38aa0482642887 Content-Type: text/plain; charset=US-ASCII; name="add-segment-base.txt" Content-Disposition: attachment; filename="add-segment-base.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g73cihl10 Content-length: 7178 LS0tCiBhbWQ2NC1saW51eC1uYXQuYyAgICAgICAgICAgICB8ICAgMzMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBmZWF0dXJlcy9pMzg2 LzMyYml0LWxpbnV4LnhtbCB8ICAgIDYgKysrKysrCiBmZWF0dXJlcy9pMzg2 L2kzODYtbGludXguYyAgICB8ICAgIDYgKysrKysrCiBpMzg2LWxpbnV4LW5h dC5jICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogaTM4Ni10ZGVwLmggICAgICAgICAgICAgICAgICAg fCAgIDEwICsrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0 aW9ucygrKQoKLS0tIGEvYW1kNjQtbGludXgtbmF0LmMKKysrIGIvYW1kNjQt bGludXgtbmF0LmMKQEAgLTE1NSw2ICsxNTUsMTIgQEAgZmlsbF9mcHJlZ3Nl dCAoY29uc3Qgc3RydWN0IHJlZ2NhY2hlICpyZQogICAgdGhpcyBmb3IgYWxs IHJlZ2lzdGVycyAoaW5jbHVkaW5nIHRoZSBmbG9hdGluZyBwb2ludCBhbmQg U1NFCiAgICByZWdpc3RlcnMpLiAgKi8KIAorI2RlZmluZSBHRFRfRU5UUllf VExTX01JTiAxMgorI2RlZmluZSBHRFRfRU5UUllfVExTX01BWCAxNAorCitl eHRlcm4gcHNfZXJyX2UgcHNfZ2V0X3RocmVhZF9hcmVhIChjb25zdCBzdHJ1 Y3QgcHNfcHJvY2hhbmRsZSAqcGgsCisJCSAgICAgICAgICAgICAgICAgICAg bHdwaWRfdCBsd3BpZCwgaW50IGlkeCwgdm9pZCAqKmJhc2UpOworCiBzdGF0 aWMgdm9pZAogYW1kNjRfbGludXhfZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXJz IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLAogCQkJCSAgICAgIHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0pCkBAIC0xODgsNiArMTk0 LDMzIEBAIGFtZDY0X2xpbnV4X2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyAo c3QKIAogICAgICAgYW1kNjRfc3VwcGx5X2Z4c2F2ZSAocmVnY2FjaGUsIC0x LCAmZnByZWdzKTsKICAgICB9CisKKyAgaWYgKGdkYmFyY2hfcHRyX2JpdCAo Z2RiYXJjaCkgPT0gMzIKKyAgICAgICYmIHJlZ251bSA+PSBJMzg2X0NTX0JB U0VfUkVHTlVNICYmIHJlZ251bSA8PSBJMzg2X0dTX0JBU0VfUkVHTlVNKQor ICAgIHsKKyAgICAgIFVMT05HRVNUIGlkeDsKKyAgICAgIGludCBiYXNlOwor CisgICAgICAvKiBHZXQgdGhlIGlkeC4gICovCisgICAgICByZWdjYWNoZV9y YXdfcmVhZF91bnNpZ25lZCAocmVnY2FjaGUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVnbnVtIC0gSTM4Nl9DU19CQVNFX1JFR05V TSArIEkzODZfQ1NfUkVHTlVNLAorCQkJCSAgJmlkeCk7CisgICAgICBpZHgg Pj49IDM7CisKKyAgICAgIC8qIFRoZSBiYXNlIHdpbGwgYmUgMCBpZiB0aGUg aWR4IGlzIG5vdCBUTFMuICAqLworICAgICAgaWYgKGlkeCA8IEdEVF9FTlRS WV9UTFNfTUlOIHx8IGlkeCA+IEdEVF9FTlRSWV9UTFNfTUFYKQorICAgICAg ICB7CisgICAgICAgICAgcmVnY2FjaGVfcmF3X3N1cHBseSAocmVnY2FjaGUs IHJlZ251bSwgTlVMTCk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9 CisKKyAgICAgIC8qIEdldCB0aGUgYmFzZS4gICovCisgICAgICBpZiAocHNf Z2V0X3RocmVhZF9hcmVhIChOVUxMLCB0aWQsIGlkeCwgKHZvaWQgKikmYmFz ZSkgPT0gUFNfRVJSKQorICAgICAgICBwZXJyb3Jfd2l0aF9uYW1lIChfKCJD b3VsZG4ndCBnZXQgcmVnaXN0ZXJzIikpOworCisgICAgICByZWdjYWNoZV9y YXdfc3VwcGx5IChyZWdjYWNoZSwgcmVnbnVtLCAmYmFzZSk7CisgICAgICBy ZXR1cm47CisgICAgfQogfQogCiAvKiBTdG9yZSByZWdpc3RlciBSRUdOVU0g YmFjayBpbnRvIHRoZSBjaGlsZCBwcm9jZXNzLiAgSWYgUkVHTlVNIGlzCi0t LSBhL2ZlYXR1cmVzL2kzODYvMzJiaXQtbGludXgueG1sCisrKyBiL2ZlYXR1 cmVzL2kzODYvMzJiaXQtbGludXgueG1sCkBAIC04LDQgKzgsMTAgQEAKIDwh RE9DVFlQRSBmZWF0dXJlIFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQiPgogPGZl YXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuaTM4Ni5saW51eCI+CiAgIDxyZWcg bmFtZT0ib3JpZ19lYXgiIGJpdHNpemU9IjMyIiB0eXBlPSJpbnQiIHJlZ251 bT0iNDEiLz4KKyAgPHJlZyBuYW1lPSJjc19iYXNlIiBiaXRzaXplPSIzMiIg dHlwZT0iaW50IiByZWdudW09IjQyIi8+CisgIDxyZWcgbmFtZT0ic3NfYmFz ZSIgYml0c2l6ZT0iMzIiIHR5cGU9ImludCIgcmVnbnVtPSI0MyIvPgorICA8 cmVnIG5hbWU9ImRzX2Jhc2UiIGJpdHNpemU9IjMyIiB0eXBlPSJpbnQiIHJl Z251bT0iNDQiLz4KKyAgPHJlZyBuYW1lPSJlc19iYXNlIiBiaXRzaXplPSIz MiIgdHlwZT0iaW50IiByZWdudW09IjQ1Ii8+CisgIDxyZWcgbmFtZT0iZnNf YmFzZSIgYml0c2l6ZT0iMzIiIHR5cGU9ImludCIgcmVnbnVtPSI0NiIvPgor ICA8cmVnIG5hbWU9ImdzX2Jhc2UiIGJpdHNpemU9IjMyIiB0eXBlPSJpbnQi IHJlZ251bT0iNDciLz4KIDwvZmVhdHVyZT4KLS0tIGEvZmVhdHVyZXMvaTM4 Ni9pMzg2LWxpbnV4LmMKKysrIGIvZmVhdHVyZXMvaTM4Ni9pMzg2LWxpbnV4 LmMKQEAgLTcxLDYgKzcxLDEyIEBAIGluaXRpYWxpemVfdGRlc2NfaTM4Nl9s aW51eCAodm9pZCkKIAogICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1 cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLmkzODYubGludXgiKTsKICAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgIm9yaWdfZWF4IiwgNDEsIDEsIE5V TEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJjc19iYXNlIiwgNDIsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJzc19iYXNlIiwgNDMsIDEsIE5VTEws IDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJk c19iYXNlIiwgNDQsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJlc19iYXNlIiwgNDUsIDEsIE5VTEwsIDMy LCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmc19i YXNlIiwgNDYsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJnc19iYXNlIiwgNDcsIDEsIE5VTEwsIDMyLCAi aW50Iik7CiAKICAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChy ZXN1bHQsICJvcmcuZ251LmdkYi5pMzg2LnNzZSIpOwogICBmaWVsZF90eXBl ID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImllZWVfc2luZ2xlIik7 Ci0tLSBhL2kzODYtbGludXgtbmF0LmMKKysrIGIvaTM4Ni1saW51eC1uYXQu YwpAQCAtNDUwLDYgKzQ1MCwxMyBAQCBzdGF0aWMgaW50IHN0b3JlX2ZweHJl Z3MgKGNvbnN0IHN0cnVjdCByCiAgICB0aGlzIGZvciBhbGwgcmVnaXN0ZXJz IChpbmNsdWRpbmcgdGhlIGZsb2F0aW5nIHBvaW50IGFuZCBTU0UKICAgIHJl Z2lzdGVycykuICAqLwogCisjZGVmaW5lIEdEVF9FTlRSWV9UTFNfRU5UUklF UwkzCisjZGVmaW5lIEdEVF9FTlRSWV9UTFNfTUlOCTYKKyNkZWZpbmUgR0RU X0VOVFJZX1RMU19NQVggCShHRFRfRU5UUllfVExTX01JTiArIEdEVF9FTlRS WV9UTFNfRU5UUklFUyAtIDEpCisKK2V4dGVybiBwc19lcnJfZSBwc19nZXRf dGhyZWFkX2FyZWEgKGNvbnN0IHN0cnVjdCBwc19wcm9jaGFuZGxlICpwaCwK KwkJICAgICAgICAgICAgICAgICAgICBsd3BpZF90IGx3cGlkLCBpbnQgaWR4 LCB2b2lkICoqYmFzZSk7CisKIHN0YXRpYyB2b2lkCiBpMzg2X2xpbnV4X2Zl dGNoX2luZmVyaW9yX3JlZ2lzdGVycyAoc3RydWN0IHRhcmdldF9vcHMgKm9w cywKIAkJCQkgICAgIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBy ZWdubykKQEAgLTUxNiw2ICs1MjMsMzMgQEAgaTM4Nl9saW51eF9mZXRjaF9p bmZlcmlvcl9yZWdpc3RlcnMgKHN0cgogICAgICAgcmV0dXJuOwogICAgIH0K IAorICAvKiBHZXQgdGhlIGJhc2Ugb2Ygc2VnbWVudCByZWdpc3RlcnMuICAq LworICBpZiAocmVnbm8gPj0gSTM4Nl9DU19CQVNFX1JFR05VTSAmJiByZWdu byA8PSBJMzg2X0dTX0JBU0VfUkVHTlVNKQorICAgIHsKKyAgICAgIFVMT05H RVNUIGlkeDsKKyAgICAgIGludCBiYXNlOworCisgICAgICAvKiBHZXQgdGhl IGlkeC4gICovCisgICAgICByZWdjYWNoZV9yYXdfcmVhZF91bnNpZ25lZCAo cmVnY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVnbm8gLSBJMzg2X0NTX0JBU0VfUkVHTlVNICsgSTM4Nl9DU19SRUdOVU0s CisJCQkJICAmaWR4KTsKKyAgICAgIGlkeCA+Pj0gMzsKKworICAgICAgLyog VGhlIGJhc2Ugd2lsbCBiZSAwIGlmIHRoZSBpZHggaXMgbm90IFRMUy4gICov CisgICAgICBpZiAoaWR4IDwgR0RUX0VOVFJZX1RMU19NSU4gfHwgaWR4ID4g R0RUX0VOVFJZX1RMU19NQVgpCisgICAgICAgIHsKKyAgICAgICAgICByZWdj YWNoZV9yYXdfc3VwcGx5IChyZWdjYWNoZSwgcmVnbm8sIE5VTEwpOworICAg ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAvKiBHZXQgdGhl IGJhc2UuICAqLworICAgICAgaWYgKHBzX2dldF90aHJlYWRfYXJlYSAoTlVM TCwgdGlkLCBpZHgsICh2b2lkICopJmJhc2UpID09IFBTX0VSUikKKyAgICAg ICAgcGVycm9yX3dpdGhfbmFtZSAoXygiQ291bGRuJ3QgZ2V0IHJlZ2lzdGVy cyIpKTsKKworICAgICAgcmVnY2FjaGVfcmF3X3N1cHBseSAocmVnY2FjaGUs IHJlZ25vLCAmYmFzZSk7CisgICAgICByZXR1cm47CisgICAgfQorCiAgIGlu dGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCiAJCSAgXygiR290 IHJlcXVlc3QgZm9yIGJhZCByZWdpc3RlciBudW1iZXIgJWQuIiksIHJlZ25v KTsKIH0KLS0tIGEvaTM4Ni10ZGVwLmgKKysrIGIvaTM4Ni10ZGVwLmgKQEAg LTIzMSw2ICsyMzEsMTYgQEAgZW51bSBpMzg2X3JlZ251bQogICBJMzg2X01Y Q1NSX1JFR05VTSA9IDQwCS8qICVteGNzciAqLyAKIH07CiAKK2VudW0gaTM4 Nl9zZWdtZW50X2Jhc2VfcmVnbnVtCit7CisgIEkzODZfQ1NfQkFTRV9SRUdO VU0gPSA0MiwJLyogJWNzX2Jhc2UgKi8KKyAgSTM4Nl9TU19CQVNFX1JFR05V TSwJCS8qICVzc19iYXNlICovCisgIEkzODZfRFNfQkFTRV9SRUdOVU0sCQkv KiAlZHNfYmFzZSAqLworICBJMzg2X0VTX0JBU0VfUkVHTlVNLAkJLyogJWVz X2Jhc2UgKi8KKyAgSTM4Nl9GU19CQVNFX1JFR05VTSwJCS8qICVmc19iYXNl ICovCisgIEkzODZfR1NfQkFTRV9SRUdOVU0sCQkvKiAlZ3NfYmFzZSAqLwor fTsKKwogLyogUmVnaXN0ZXIgbnVtYmVycyBvZiBSRUNPUkRfUkVHTUFQLiAg Ki8KIAogZW51bSByZWNvcmRfaTM4Nl9yZWdudW0K --00504502b18f5b38aa0482642887--