From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19778 invoked by alias); 10 Jun 2009 17:09:14 -0000 Received: (qmail 19763 invoked by uid 22791); 10 Jun 2009 17:09:12 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 10 Jun 2009 17:09:04 +0000 Received: from zps35.corp.google.com (zps35.corp.google.com [172.25.146.35]) by smtp-out.google.com with ESMTP id n5AH92IR022843; Wed, 10 Jun 2009 10:09:02 -0700 Received: from qyk8 (qyk8.prod.google.com [10.241.83.136]) by zps35.corp.google.com with ESMTP id n5AH8Whq024740; Wed, 10 Jun 2009 10:09:00 -0700 Received: by qyk8 with SMTP id 8so1277802qyk.19 for ; Wed, 10 Jun 2009 10:09:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.97.194 with SMTP id m2mr337211qcn.21.1244653740251; Wed, 10 Jun 2009 10:09:00 -0700 (PDT) In-Reply-To: <4A2FD0A7.2090408@gmail.com> References: <8ac60eac0905311056l3b8edf98rc6abfe28853e0b6d@mail.gmail.com> <4A22CB56.3070704@gmail.com> <8ac60eac0906012254o57756790y9bb4eb23d1d6e5a1@mail.gmail.com> <8ac60eac0906080910x6497e1abg5c7aa9bdf863c5d5@mail.gmail.com> <4A2FD0A7.2090408@gmail.com> Date: Wed, 10 Jun 2009 17:09:00 -0000 Message-ID: <8ac60eac0906101009r831248ej4638bb0cf12b8305@mail.gmail.com> Subject: Re: How to get file descriptor from abfd? From: Paul Pluzhnikov To: binutils@sourceware.org Cc: Dave Korn , Tom Tromey , gdb-patches ml Content-Type: multipart/mixed; boundary=0016368324ea0e61c5046c018804 X-System-Of-Record: true 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: 2009-06/txt/msg00265.txt.bz2 --0016368324ea0e61c5046c018804 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 1072 On Wed, Jun 10, 2009 at 8:26 AM, Dave Korn wrote: >> +. void (*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len, >> +. int prot, int flags, file_ptr offset); > > The return type here should be void*, not plain void. Thanks, fixed. >> + void *ret = (void *)-1; > > Gnu coding standards request a space between the cast and the -1. Fixed in all the places I could find. >> + if ((abfd->flags & BFD_IN_MEMORY) != 0) >> + abort (); >> +#ifdef HAVE_MMAP >> + else >> + { >> + FILE *f = bfd_cache_lookup (abfd, CACHE_NO_SEEK_ERROR); > > Since abort() doesn't return, the else clause and extra level of nested > braces is superfluous here. The braces introduce a new scope for 'FILE *f'. If I move the declaration to the top of function, then it fails to build when !HAVE_MMAP: cc1: warnings being treated as errors ../../src/bfd/cache.c: In function 'cache_bmmap': ../../src/bfd/cache.c:404: warning: unused variable 'f' I left this "as is". Corrected patch attached. Thanks, -- Paul Pluzhnikov --0016368324ea0e61c5046c018804 Content-Type: text/plain; charset=US-ASCII; name="bfd-mmap-patch-20090610.txt" Content-Disposition: attachment; filename="bfd-mmap-patch-20090610.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fvsamy9k0 Content-length: 6674 SW5kZXg6IGJmZC1pbjIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvYmZkL2JmZC1pbjIuaCx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS40ODIKZGlmZiAtdSAtcCAtdSAtcjEuNDgyIGJmZC1pbjIu aAotLS0gYmZkLWluMi5oCTEgSnVuIDIwMDkgMTM6MTE6NTEgLTAwMDAJMS40 ODIKKysrIGJmZC1pbjIuaAkxMCBKdW4gMjAwOSAxNzowMToyOCAtMDAwMApA QCAtNDYzLDYgKzQ2Myw3IEBAIGV4dGVybiBpbnQgYmZkX3NlZWsgKGJmZCAq LCBmaWxlX3B0ciwgaW4KIGV4dGVybiBmaWxlX3B0ciBiZmRfdGVsbCAoYmZk ICopOwogZXh0ZXJuIGludCBiZmRfZmx1c2ggKGJmZCAqKTsKIGV4dGVybiBp bnQgYmZkX3N0YXQgKGJmZCAqLCBzdHJ1Y3Qgc3RhdCAqKTsKK2V4dGVybiB2 b2lkICpiZmRfbW1hcCAoYmZkICosIHZvaWQgKiwgYmZkX3NpemVfdHlwZSwg aW50LCBpbnQsIGZpbGVfcHRyKTsKIAogLyogRGVwcmVjYXRlZCBvbGQgcm91 dGluZXMuICAqLwogI2lmIF9fR05VQ19fCkluZGV4OiBiZmRpby5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9iZmQv YmZkaW8uYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMQpkaWZmIC11IC1w IC11IC1yMS4yMSBiZmRpby5jCi0tLSBiZmRpby5jCTI0IE1heSAyMDA5IDEx OjQ3OjI3IC0wMDAwCTEuMjEKKysrIGJmZGlvLmMJMTAgSnVuIDIwMDkgMTc6 MDE6MjggLTAwMDAKQEAgLTE1OCw2ICsxNTgsOCBAQCBERVNDUklQVElPTgog LiAgaW50ICgqYmNsb3NlKSAoc3RydWN0IGJmZCAqYWJmZCk7CiAuICBpbnQg KCpiZmx1c2gpIChzdHJ1Y3QgYmZkICphYmZkKTsKIC4gIGludCAoKmJzdGF0 KSAoc3RydWN0IGJmZCAqYWJmZCwgc3RydWN0IHN0YXQgKnNiKTsKKy4gIHZv aWQqICgqYm1tYXApIChzdHJ1Y3QgYmZkICphYmZkLCB2b2lkICphZGRyLCBi ZmRfc2l6ZV90eXBlIGxlbiwKKy4gICAgICAgICAgICAgICAgICBpbnQgcHJv dCwgaW50IGZsYWdzLCBmaWxlX3B0ciBvZmZzZXQpOwogLn07CiAKICovCkBA IC01MTEsMyArNTEzLDMxIEBAIGJmZF9nZXRfc2l6ZSAoYmZkICphYmZkKQog CiAgIHJldHVybiBidWYuc3Rfc2l6ZTsKIH0KKworCisvKgorRlVOQ1RJT04K KwliZmRfbW1hcAorCitTWU5PUFNJUworCXZvaWQgKmJmZF9tbWFwIChiZmQg KmFiZmQsIHZvaWQgKmFkZHIsIGJmZF9zaXplX3R5cGUgbGVuLAorCSAgICAg ICAgICAgICAgICBpbnQgcHJvdCwgaW50IGZsYWdzLCBmaWxlX3B0ciBvZmZz ZXQpOworCitERVNDUklQVElPTgorCVJldHVybiBtbWFwKCllZCByZWdpb24g b2YgdGhlIGZpbGUsIGlmIHBvc3NpYmxlIGFuZCBpbXBsZW1lbnRlZC4KKwor Ki8KKwordm9pZCAqCitiZmRfbW1hcCAoYmZkICphYmZkLCB2b2lkICphZGRy LCBiZmRfc2l6ZV90eXBlIGxlbiwKKwkgIGludCBwcm90LCBpbnQgZmxhZ3Ms IGZpbGVfcHRyIG9mZnNldCkKK3sKKyAgdm9pZCAqcmV0ID0gKHZvaWQgKikt MTsKKyAgaWYgKChhYmZkLT5mbGFncyAmIEJGRF9JTl9NRU1PUlkpICE9IDAp CisgICAgcmV0dXJuIHJldDsKKworICBpZiAoYWJmZC0+aW92ZWMgPT0gTlVM TCkKKyAgICByZXR1cm4gcmV0OworCisgIHJldHVybiBhYmZkLT5pb3ZlYy0+ Ym1tYXAgKGFiZmQsIGFkZHIsIGxlbiwgcHJvdCwgZmxhZ3MsIG9mZnNldCk7 Cit9CkluZGV4OiBjYWNoZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9jdnMvc3JjL3NyYy9iZmQvY2FjaGUuYyx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS4zNApkaWZmIC11IC1wIC11IC1yMS4zNCBjYWNoZS5jCi0t LSBjYWNoZS5jCTMwIE9jdCAyMDA4IDA5OjA1OjMyIC0wMDAwCTEuMzQKKysr IGNhY2hlLmMJMTAgSnVuIDIwMDkgMTc6MDE6MjggLTAwMDAKQEAgLTQ2LDYg KzQ2LDEwIEBAIFNVQlNFQ1RJT04KICNpbmNsdWRlICJsaWJiZmQuaCIKICNp bmNsdWRlICJsaWJpYmVydHkuaCIKIAorI2lmZGVmIEhBVkVfTU1BUAorI2lu Y2x1ZGUgPHN5cy9tbWFuLmg+CisjZW5kaWYKKwogLyogSW4gc29tZSBjYXNl cyB3ZSBjYW4gb3B0aW1pemUgY2FjaGUgb3BlcmF0aW9uIHdoZW4gcmVvcGVu aW5nIGZpbGVzLgogICAgRm9yIGluc3RhbmNlLCBhIGZsdXNoIGlzIGVudGly ZWx5IHVubmVjZXNzYXJ5IGlmIHRoZSBmaWxlIGlzIGFscmVhZHkKICAgIGNs b3NlZCwgc28gYSBmbHVzaCB3b3VsZCB1c2UgQ0FDSEVfTk9fT1BFTi4gIFNp bWlsYXJseSwgYSBzZWVrIHVzaW5nCkBAIC0zODgsMTAgKzM5MiwzOCBAQCBj YWNoZV9ic3RhdCAoc3RydWN0IGJmZCAqYWJmZCwgc3RydWN0IHN0CiAgIHJl dHVybiBzdHM7CiB9CiAKK3N0YXRpYyB2b2lkICoKK2NhY2hlX2JtbWFwIChz dHJ1Y3QgYmZkICphYmZkIEFUVFJJQlVURV9VTlVTRUQsCisJICAgICB2b2lk ICphZGRyIEFUVFJJQlVURV9VTlVTRUQsCisJICAgICBiZmRfc2l6ZV90eXBl IGxlbiBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgaW50IHByb3QgQVRUUklC VVRFX1VOVVNFRCwKKwkgICAgIGludCBmbGFncyBBVFRSSUJVVEVfVU5VU0VE LAorCSAgICAgZmlsZV9wdHIgb2Zmc2V0IEFUVFJJQlVURV9VTlVTRUQpCit7 CisgIHZvaWQgKnJldCA9ICh2b2lkICopIC0xOworCisgIGlmICgoYWJmZC0+ ZmxhZ3MgJiBCRkRfSU5fTUVNT1JZKSAhPSAwKQorICAgIGFib3J0ICgpOwor I2lmZGVmIEhBVkVfTU1BUAorICBlbHNlCisgICAgeworICAgICAgRklMRSAq ZiA9IGJmZF9jYWNoZV9sb29rdXAgKGFiZmQsIENBQ0hFX05PX1NFRUtfRVJS T1IpOworICAgICAgaWYgKGYgPT0gTlVMTCkKKwlyZXR1cm4gcmV0OworCisg ICAgICByZXQgPSBtbWFwIChhZGRyLCBsZW4sIHByb3QsIGZsYWdzLCBmaWxl bm8gKGYpLCBvZmZzZXQpOworICAgICAgaWYgKHJldCA9PSAodm9pZCAqKSAt MSkKKwliZmRfc2V0X2Vycm9yIChiZmRfZXJyb3Jfc3lzdGVtX2NhbGwpOwor ICAgIH0KKyNlbmRpZgorCisgIHJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgYmZkX2lvdmVjIGNhY2hlX2lvdmVjID0KIHsKICAgJmNh Y2hlX2JyZWFkLCAmY2FjaGVfYndyaXRlLCAmY2FjaGVfYnRlbGwsICZjYWNo ZV9ic2VlaywKLSAgJmNhY2hlX2JjbG9zZSwgJmNhY2hlX2JmbHVzaCwgJmNh Y2hlX2JzdGF0CisgICZjYWNoZV9iY2xvc2UsICZjYWNoZV9iZmx1c2gsICZj YWNoZV9ic3RhdCwgJmNhY2hlX2JtbWFwCiB9OwogCiAvKgpJbmRleDogbGli YmZkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2JmZC9saWJiZmQuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4y MTYKZGlmZiAtdSAtcCAtdSAtcjEuMjE2IGxpYmJmZC5oCi0tLSBsaWJiZmQu aAkxIEp1biAyMDA5IDEzOjExOjUyIC0wMDAwCTEuMjE2CisrKyBsaWJiZmQu aAkxMCBKdW4gMjAwOSAxNzowMToyOCAtMDAwMApAQCAtNzczLDYgKzc3Myw5 IEBAIHN0cnVjdCBiZmRfaW92ZWMKICAgaW50ICgqYmNsb3NlKSAoc3RydWN0 IGJmZCAqYWJmZCk7CiAgIGludCAoKmJmbHVzaCkgKHN0cnVjdCBiZmQgKmFi ZmQpOwogICBpbnQgKCpic3RhdCkgKHN0cnVjdCBiZmQgKmFiZmQsIHN0cnVj dCBzdGF0ICpzYik7CisgIC8qIEp1c3QgbGlrZSBtbWFwOiAodm9pZCopLTEg b24gZmFpbHVyZSwgbW1hcHBlZCBhZGRyZXNzIG9uIHN1Y2Nlc3MuICAqLwor ICB2b2lkICooKmJtbWFwKSAoc3RydWN0IGJmZCAqYWJmZCwgdm9pZCAqYWRk ciwgYmZkX3NpemVfdHlwZSBsZW4sCisgICAgICAgICAgICAgICAgICBpbnQg cHJvdCwgaW50IGZsYWdzLCBmaWxlX3B0ciBvZmZzZXQpOwogfTsKIC8qIEV4 dHJhY3RlZCBmcm9tIGJmZHdpbi5jLiAgKi8KIHN0cnVjdCBfYmZkX3dpbmRv d19pbnRlcm5hbCB7CkluZGV4OiBvcG5jbHMuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvYmZkL29wbmNscy5jLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjUzCmRpZmYgLXUgLXAgLXUgLXIxLjUz IG9wbmNscy5jCi0tLSBvcG5jbHMuYwkyMyBBdWcgMjAwOCAwODowODo1OCAt MDAwMAkxLjUzCisrKyBvcG5jbHMuYwkxMCBKdW4gMjAwOSAxNzowMToyOCAt MDAwMApAQCAtNTA1LDkgKzUwNSwyMCBAQCBvcG5jbHNfYnN0YXQgKHN0cnVj dCBiZmQgKmFiZmQsIHN0cnVjdCBzCiAgIHJldHVybiAodmVjLT5zdGF0KSAo YWJmZCwgdmVjLT5zdHJlYW0sIHNiKTsKIH0KIAorc3RhdGljIHZvaWQgKgor b3BuY2xzX2JtbWFwIChzdHJ1Y3QgYmZkICphYmZkIEFUVFJJQlVURV9VTlVT RUQsCisJICAgICAgdm9pZCAqYWRkciBBVFRSSUJVVEVfVU5VU0VELAorCSAg ICAgIGJmZF9zaXplX3R5cGUgbGVuIEFUVFJJQlVURV9VTlVTRUQsCisJICAg ICAgaW50IHByb3QgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgICBpbnQgZmxh Z3MgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgICBmaWxlX3B0ciBvZmZzZXQg QVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgcmV0dXJuICh2b2lkICopIC0xOwor fQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGJmZF9pb3ZlYyBvcG5jbHNfaW92 ZWMgPSB7CiAgICZvcG5jbHNfYnJlYWQsICZvcG5jbHNfYndyaXRlLCAmb3Bu Y2xzX2J0ZWxsLCAmb3BuY2xzX2JzZWVrLAotICAmb3BuY2xzX2JjbG9zZSwg Jm9wbmNsc19iZmx1c2gsICZvcG5jbHNfYnN0YXQKKyAgJm9wbmNsc19iY2xv c2UsICZvcG5jbHNfYmZsdXNoLCAmb3BuY2xzX2JzdGF0LCAmb3BuY2xzX2Jt bWFwCiB9OwogCiBiZmQgKgo= --0016368324ea0e61c5046c018804--