From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11354 invoked by alias); 24 Jul 2006 22:00:51 -0000 Received: (qmail 9999 invoked by uid 22791); 24 Jul 2006 22:00:49 -0000 X-Spam-Check-By: sourceware.org Received: from eyesopen.com (HELO www.eyesopen.com) (208.41.78.163) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 24 Jul 2006 22:00:45 +0000 Received: from localhost (roger@localhost) by www.eyesopen.com (8.11.6/8.11.6) with ESMTP id k6OLTas27864; Mon, 24 Jul 2006 15:29:36 -0600 Date: Mon, 24 Jul 2006 22:00:00 -0000 From: Roger Sayle To: Daniel Jacobowitz cc: gdb-patches@sourceware.org Subject: [PATCH] Fix IRIX compilation failure in solib-irix.c (take 2) In-Reply-To: <20060724200731.GB15759@nevyn.them.org> Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811583-996248017-1153776576=:22774" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-07/txt/msg00369.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1463811583-996248017-1153776576=:22774 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-length: 4077 Hi Dan, On Mon, 24 Jul 2006, Daniel Jacobowitz wrote: > Would it work to (A) add ".b" to the end of the expressions, and > (B) change gdb_int32_bytes and gdb_int64_bytes to use gdb_byte? > We try to avoid these casts; they're usually symptomatic of a type > problem elsewhere. Ah, clever. Yep, that fixes the build problem on IRIX for me. The following patch has been tested by building on mips-sgi-irix6.5. Many thanks for the suggestion. 2006-07-24 Roger Sayle Daniel Jacobowitz * solib-irix.c (gdb_int32_bytes): Use gdb_byte instead of char. (gdb_int64_bytes): Likewise. (fetch_lm_info): Use .b fields of gdb_int32_bytes and gdb_int64_bytes as first argument to extract_unsigned_integer to silence compiler warnings. Index: solib-irix.c =================================================================== RCS file: /cvs/src/src/gdb/solib-irix.c,v retrieving revision 1.10 diff -c -3 -p -r1.10 solib-irix.c *** solib-irix.c 18 Apr 2006 19:20:06 -0000 1.10 --- solib-irix.c 24 Jul 2006 21:45:20 -0000 *************** struct lm_info *** 62,73 **** typedef struct { ! char b[4]; } gdb_int32_bytes; typedef struct { ! char b[8]; } gdb_int64_bytes; --- 62,73 ---- typedef struct { ! gdb_byte b[4]; } gdb_int32_bytes; typedef struct { ! gdb_byte b[8]; } gdb_int64_bytes; *************** fetch_lm_info (CORE_ADDR addr) *** 152,158 **** being at the end of a page or the like.) */ read_memory (addr, (char *) &buf, sizeof (buf.ol32)); ! if (extract_unsigned_integer (&buf.magic, sizeof (buf.magic)) != 0xffffffff) { /* Use buf.ol32... */ char obj_buf[432]; --- 152,158 ---- being at the end of a page or the like.) */ read_memory (addr, (char *) &buf, sizeof (buf.ol32)); ! if (extract_unsigned_integer (buf.magic.b, sizeof (buf.magic)) != 0xffffffff) { /* Use buf.ol32... */ char obj_buf[432]; *************** fetch_lm_info (CORE_ADDR addr) *** 168,174 **** - extract_mips_address (&obj_buf[248], 4); } ! else if (extract_unsigned_integer (&buf.oi32.oi_size, sizeof (buf.oi32.oi_size)) == sizeof (buf.oi32)) { --- 168,174 ---- - extract_mips_address (&obj_buf[248], 4); } ! else if (extract_unsigned_integer (buf.oi32.oi_size.b, sizeof (buf.oi32.oi_size)) == sizeof (buf.oi32)) { *************** fetch_lm_info (CORE_ADDR addr) *** 188,198 **** sizeof (buf.oi32.oi_orig_ehdr)); li.pathname_addr = extract_mips_address (&buf.oi32.oi_pathname, sizeof (buf.oi32.oi_pathname)); ! li.pathname_len = extract_unsigned_integer (&buf.oi32.oi_pathname_len, sizeof (buf.oi32. oi_pathname_len)); } ! else if (extract_unsigned_integer (&buf.oi64.oi_size, sizeof (buf.oi64.oi_size)) == sizeof (buf.oi64)) { --- 188,198 ---- sizeof (buf.oi32.oi_orig_ehdr)); li.pathname_addr = extract_mips_address (&buf.oi32.oi_pathname, sizeof (buf.oi32.oi_pathname)); ! li.pathname_len = extract_unsigned_integer (buf.oi32.oi_pathname_len.b, sizeof (buf.oi32. oi_pathname_len)); } ! else if (extract_unsigned_integer (buf.oi64.oi_size.b, sizeof (buf.oi64.oi_size)) == sizeof (buf.oi64)) { *************** fetch_lm_info (CORE_ADDR addr) *** 212,218 **** sizeof (buf.oi64.oi_orig_ehdr)); li.pathname_addr = extract_mips_address (&buf.oi64.oi_pathname, sizeof (buf.oi64.oi_pathname)); ! li.pathname_len = extract_unsigned_integer (&buf.oi64.oi_pathname_len, sizeof (buf.oi64. oi_pathname_len)); } --- 212,218 ---- sizeof (buf.oi64.oi_orig_ehdr)); li.pathname_addr = extract_mips_address (&buf.oi64.oi_pathname, sizeof (buf.oi64.oi_pathname)); ! li.pathname_len = extract_unsigned_integer (buf.oi64.oi_pathname_len.b, sizeof (buf.oi64. oi_pathname_len)); } Roger -- ---1463811583-996248017-1153776576=:22774 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="patchg3.txt" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="patchg3.txt" Content-length: 4620 SW5kZXg6IHNvbGliLWlyaXguYw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K UkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvc29saWItaXJpeC5jLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xMA0KZGlmZiAtYyAtMyAtcCAtcjEuMTAg c29saWItaXJpeC5jDQoqKiogc29saWItaXJpeC5jCTE4IEFwciAyMDA2IDE5 OjIwOjA2IC0wMDAwCTEuMTANCi0tLSBzb2xpYi1pcml4LmMJMjQgSnVsIDIw MDYgMjE6NDU6MjAgLTAwMDANCioqKioqKioqKioqKioqKiBzdHJ1Y3QgbG1f aW5mbw0KKioqIDYyLDczICoqKioNCiAgDQogIHR5cGVkZWYgc3RydWN0DQog IHsNCiEgICBjaGFyIGJbNF07DQogIH0NCiAgZ2RiX2ludDMyX2J5dGVzOw0K ICB0eXBlZGVmIHN0cnVjdA0KICB7DQohICAgY2hhciBiWzhdOw0KICB9DQog IGdkYl9pbnQ2NF9ieXRlczsNCiAgDQotLS0gNjIsNzMgLS0tLQ0KICANCiAg dHlwZWRlZiBzdHJ1Y3QNCiAgew0KISAgIGdkYl9ieXRlIGJbNF07DQogIH0N CiAgZ2RiX2ludDMyX2J5dGVzOw0KICB0eXBlZGVmIHN0cnVjdA0KICB7DQoh ICAgZ2RiX2J5dGUgYls4XTsNCiAgfQ0KICBnZGJfaW50NjRfYnl0ZXM7DQog IA0KKioqKioqKioqKioqKioqIGZldGNoX2xtX2luZm8gKENPUkVfQUREUiBh ZGRyKQ0KKioqIDE1MiwxNTggKioqKg0KICAgICAgIGJlaW5nIGF0IHRoZSBl bmQgb2YgYSBwYWdlIG9yIHRoZSBsaWtlLikgICovDQogICAgcmVhZF9tZW1v cnkgKGFkZHIsIChjaGFyICopICZidWYsIHNpemVvZiAoYnVmLm9sMzIpKTsN CiAgDQohICAgaWYgKGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciAoJmJ1Zi5t YWdpYywgc2l6ZW9mIChidWYubWFnaWMpKSAhPSAweGZmZmZmZmZmKQ0KICAg ICAgew0KICAgICAgICAvKiBVc2UgYnVmLm9sMzIuLi4gKi8NCiAgICAgICAg Y2hhciBvYmpfYnVmWzQzMl07DQotLS0gMTUyLDE1OCAtLS0tDQogICAgICAg YmVpbmcgYXQgdGhlIGVuZCBvZiBhIHBhZ2Ugb3IgdGhlIGxpa2UuKSAgKi8N CiAgICByZWFkX21lbW9yeSAoYWRkciwgKGNoYXIgKikgJmJ1Ziwgc2l6ZW9m IChidWYub2wzMikpOw0KICANCiEgICBpZiAoZXh0cmFjdF91bnNpZ25lZF9p bnRlZ2VyIChidWYubWFnaWMuYiwgc2l6ZW9mIChidWYubWFnaWMpKSAhPSAw eGZmZmZmZmZmKQ0KICAgICAgew0KICAgICAgICAvKiBVc2UgYnVmLm9sMzIu Li4gKi8NCiAgICAgICAgY2hhciBvYmpfYnVmWzQzMl07DQoqKioqKioqKioq KioqKiogZmV0Y2hfbG1faW5mbyAoQ09SRV9BRERSIGFkZHIpDQoqKiogMTY4 LDE3NCAqKioqDQogIAktIGV4dHJhY3RfbWlwc19hZGRyZXNzICgmb2JqX2J1 ZlsyNDhdLCA0KTsNCiAgDQogICAgICB9DQohICAgZWxzZSBpZiAoZXh0cmFj dF91bnNpZ25lZF9pbnRlZ2VyICgmYnVmLm9pMzIub2lfc2l6ZSwNCiAgCQkJ CSAgICAgc2l6ZW9mIChidWYub2kzMi5vaV9zaXplKSkNCiAgCSAgID09IHNp emVvZiAoYnVmLm9pMzIpKQ0KICAgICAgew0KLS0tIDE2OCwxNzQgLS0tLQ0K ICAJLSBleHRyYWN0X21pcHNfYWRkcmVzcyAoJm9ial9idWZbMjQ4XSwgNCk7 DQogIA0KICAgICAgfQ0KISAgIGVsc2UgaWYgKGV4dHJhY3RfdW5zaWduZWRf aW50ZWdlciAoYnVmLm9pMzIub2lfc2l6ZS5iLA0KICAJCQkJICAgICBzaXpl b2YgKGJ1Zi5vaTMyLm9pX3NpemUpKQ0KICAJICAgPT0gc2l6ZW9mIChidWYu b2kzMikpDQogICAgICB7DQoqKioqKioqKioqKioqKiogZmV0Y2hfbG1faW5m byAoQ09SRV9BRERSIGFkZHIpDQoqKiogMTg4LDE5OCAqKioqDQogIAkJCQlz aXplb2YgKGJ1Zi5vaTMyLm9pX29yaWdfZWhkcikpOw0KICAgICAgICBsaS5w YXRobmFtZV9hZGRyID0gZXh0cmFjdF9taXBzX2FkZHJlc3MgKCZidWYub2kz Mi5vaV9wYXRobmFtZSwNCiAgCQkJCQkgICAgICAgc2l6ZW9mIChidWYub2kz Mi5vaV9wYXRobmFtZSkpOw0KISAgICAgICBsaS5wYXRobmFtZV9sZW4gPSBl eHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKCZidWYub2kzMi5vaV9wYXRobmFt ZV9sZW4sDQogIAkJCQkJCSAgc2l6ZW9mIChidWYub2kzMi4NCiAgCQkJCQkJ CSAgb2lfcGF0aG5hbWVfbGVuKSk7DQogICAgICB9DQohICAgZWxzZSBpZiAo ZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyICgmYnVmLm9pNjQub2lfc2l6ZSwN CiAgCQkJCSAgICAgc2l6ZW9mIChidWYub2k2NC5vaV9zaXplKSkNCiAgCSAg ID09IHNpemVvZiAoYnVmLm9pNjQpKQ0KICAgICAgew0KLS0tIDE4OCwxOTgg LS0tLQ0KICAJCQkJc2l6ZW9mIChidWYub2kzMi5vaV9vcmlnX2VoZHIpKTsN CiAgICAgICAgbGkucGF0aG5hbWVfYWRkciA9IGV4dHJhY3RfbWlwc19hZGRy ZXNzICgmYnVmLm9pMzIub2lfcGF0aG5hbWUsDQogIAkJCQkJICAgICAgIHNp emVvZiAoYnVmLm9pMzIub2lfcGF0aG5hbWUpKTsNCiEgICAgICAgbGkucGF0 aG5hbWVfbGVuID0gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChidWYub2kz Mi5vaV9wYXRobmFtZV9sZW4uYiwNCiAgCQkJCQkJICBzaXplb2YgKGJ1Zi5v aTMyLg0KICAJCQkJCQkJICBvaV9wYXRobmFtZV9sZW4pKTsNCiAgICAgIH0N CiEgICBlbHNlIGlmIChleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKGJ1Zi5v aTY0Lm9pX3NpemUuYiwNCiAgCQkJCSAgICAgc2l6ZW9mIChidWYub2k2NC5v aV9zaXplKSkNCiAgCSAgID09IHNpemVvZiAoYnVmLm9pNjQpKQ0KICAgICAg ew0KKioqKioqKioqKioqKioqIGZldGNoX2xtX2luZm8gKENPUkVfQUREUiBh ZGRyKQ0KKioqIDIxMiwyMTggKioqKg0KICAJCQkJc2l6ZW9mIChidWYub2k2 NC5vaV9vcmlnX2VoZHIpKTsNCiAgICAgICAgbGkucGF0aG5hbWVfYWRkciA9 IGV4dHJhY3RfbWlwc19hZGRyZXNzICgmYnVmLm9pNjQub2lfcGF0aG5hbWUs DQogIAkJCQkJICAgICAgIHNpemVvZiAoYnVmLm9pNjQub2lfcGF0aG5hbWUp KTsNCiEgICAgICAgbGkucGF0aG5hbWVfbGVuID0gZXh0cmFjdF91bnNpZ25l ZF9pbnRlZ2VyICgmYnVmLm9pNjQub2lfcGF0aG5hbWVfbGVuLA0KICAJCQkJ CQkgIHNpemVvZiAoYnVmLm9pNjQuDQogIAkJCQkJCQkgIG9pX3BhdGhuYW1l X2xlbikpOw0KICAgICAgfQ0KLS0tIDIxMiwyMTggLS0tLQ0KICAJCQkJc2l6 ZW9mIChidWYub2k2NC5vaV9vcmlnX2VoZHIpKTsNCiAgICAgICAgbGkucGF0 aG5hbWVfYWRkciA9IGV4dHJhY3RfbWlwc19hZGRyZXNzICgmYnVmLm9pNjQu b2lfcGF0aG5hbWUsDQogIAkJCQkJICAgICAgIHNpemVvZiAoYnVmLm9pNjQu b2lfcGF0aG5hbWUpKTsNCiEgICAgICAgbGkucGF0aG5hbWVfbGVuID0gZXh0 cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChidWYub2k2NC5vaV9wYXRobmFtZV9s ZW4uYiwNCiAgCQkJCQkJICBzaXplb2YgKGJ1Zi5vaTY0Lg0KICAJCQkJCQkJ ICBvaV9wYXRobmFtZV9sZW4pKTsNCiAgICAgIH0NCg== ---1463811583-996248017-1153776576=:22774--