From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25237 invoked by alias); 26 Mar 2010 10:54:17 -0000 Received: (qmail 25228 invoked by uid 22791); 26 Mar 2010 10:54:16 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40 X-Spam-Check-By: sourceware.org Received: from mail-ew0-f221.google.com (HELO mail-ew0-f221.google.com) (209.85.219.221) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 26 Mar 2010 10:54:12 +0000 Received: by ewy21 with SMTP id 21so2087283ewy.25 for ; Fri, 26 Mar 2010 03:54:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.213.109.9 with HTTP; Fri, 26 Mar 2010 03:54:10 -0700 (PDT) Date: Fri, 26 Mar 2010 10:54:00 -0000 Received: by 10.213.98.143 with SMTP id q15mr484442ebn.67.1269600850066; Fri, 26 Mar 2010 03:54:10 -0700 (PDT) Message-ID: <647fe9b11003260354o53df5f0ayde8d1e3a03f1b694@mail.gmail.com> Subject: [PATCH] winsock include fixes From: Ozkan Sezer To: gdb-patches@sources.redhat.com Cc: ktietz70@googlemail.com Content-Type: multipart/mixed; boundary=00504502d497acbf600482b1fb81 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/msg00875.txt.bz2 --00504502d497acbf600482b1fb81 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 997 Hi: Here is a patch fixing the winsock include problem which appeared after the recent winsock header work in mingw-w64-headers. Problem is this: GDB does windows.h and winsock2.h includes in its own headers and then it includes them in its sources in an arbitrary order. If winsock2.h or a header including winsock2.h (such as gdb_select.h) is included after windows.h or a header including windows.h (such as serial.h), then conflicting definitions occur and they result in error, because windows.h already includes winsock.h and including winsock2.h after that is an error. The patch fixes that in a quick and dirty way mostly by tweaking the include order. Tested by compiling gdb for x86_64-w64-mingw32, i686-w64-mingw32 and x86_64-pc-linux-gnu. Please consider for applying. -- Ozkan PS: A possibly better solution is defining WIN32_LEAN_AND_MEAN before including windows.h and then manually including the necessary additional headers in the sources, but that may require some more work. --00504502d497acbf600482b1fb81 Content-Type: application/octet-stream; name="winsock_includes.patch" Content-Disposition: attachment; filename="winsock_includes.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g78vjhxf0 Content-length: 5084 SW5kZXg6IGdkYi9pbmZsb3cuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2luZmxvdy5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjU4CmRpZmYgLXUgLXAgLXIxLjU4IGluZmxvdy5jCi0t LSBnZGIvaW5mbG93LmMJMjQgRmViIDIwMTAgMDc6NTE6NDQgLTAwMDAJMS41 OAorKysgZ2RiL2luZmxvdy5jCTI2IE1hciAyMDEwIDEwOjQ4OjAzIC0wMDAw CkBAIC0xOSw2ICsxOSw3IEBACiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCiAKICNpbmNsdWRlICJkZWZzLmgiCisjaW5jbHVkZSAiZ2RiX3Nl bGVjdC5oIgogI2luY2x1ZGUgImZyYW1lLmgiCiAjaW5jbHVkZSAiaW5mZXJp b3IuaCIKICNpbmNsdWRlICJjb21tYW5kLmgiCkBAIC0zMSw3ICszMiw2IEBA CiAjaW5jbHVkZSAiZ2RiX3N0cmluZy5oIgogI2luY2x1ZGUgPHNpZ25hbC5o PgogI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSAiZ2RiX3NlbGVjdC5o IgogCiAjaW5jbHVkZSAiaW5mbG93LmgiCiAKSW5kZXg6IGdkYi9taW5ndy1o ZGVwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2dkYi9taW5ndy1oZGVwLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9u IDEuMTEKZGlmZiAtdSAtcCAtcjEuMTEgbWluZ3ctaGRlcC5jCi0tLSBnZGIv bWluZ3ctaGRlcC5jCTEgSmFuIDIwMTAgMDc6MzE6MzcgLTAwMDAJMS4xMQor KysgZ2RiL21pbmd3LWhkZXAuYwkyNiBNYXIgMjAxMCAxMDo0ODowMyAtMDAw MApAQCAtMTgsMTEgKzE4LDExIEBACiAgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCiAKICNpbmNsdWRlICJkZWZzLmgiCisjaW5jbHVkZSAiZ2Ri X3NlbGVjdC5oIgogI2luY2x1ZGUgInNlcmlhbC5oIgogI2luY2x1ZGUgImV2 ZW50LWxvb3AuaCIKIAogI2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKLSNpbmNs dWRlICJnZGJfc2VsZWN0LmgiCiAjaW5jbHVkZSAiZ2RiX3N0cmluZy5oIgog I2luY2x1ZGUgInJlYWRsaW5lL3JlYWRsaW5lLmgiCiAKSW5kZXg6IGdkYi9z ZXItYmFzZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j dnMvc3JjL3NyYy9nZGIvc2VyLWJhc2UuYyx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4xNQpkaWZmIC11IC1wIC1yMS4xNSBzZXItYmFzZS5jCi0tLSBnZGIv c2VyLWJhc2UuYwkxIEphbiAyMDEwIDA3OjMxOjQxIC0wMDAwCTEuMTUKKysr IGdkYi9zZXItYmFzZS5jCTI2IE1hciAyMDEwIDEwOjQ4OjAzIC0wMDAwCkBA IC0xOSw2ICsxOSw5IEBACiAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCiAKICNpbmNsdWRlICJkZWZzLmgiCisjaWZkZWYgVVNFX1dJTjMyQVBJ CisjaW5jbHVkZSA8d2luc29jazIuaD4KKyNlbmRpZgogI2luY2x1ZGUgInNl cmlhbC5oIgogI2luY2x1ZGUgInNlci1iYXNlLmgiCiAjaW5jbHVkZSAiZXZl bnQtbG9vcC5oIgpAQCAtMjYsOSArMjksNiBAQAogI2luY2x1ZGUgImdkYl9z ZWxlY3QuaCIKICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAjaW5jbHVkZSA8 c3lzL3RpbWUuaD4KLSNpZmRlZiBVU0VfV0lOMzJBUEkKLSNpbmNsdWRlIDx3 aW5zb2NrMi5oPgotI2VuZGlmCiAKIAogc3RhdGljIHRpbWVyX2hhbmRsZXJf ZnVuYyBwdXNoX2V2ZW50OwpJbmRleDogZ2RiL3Nlci1taW5ndy5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIv c2VyLW1pbmd3LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjAKZGlmZiAt dSAtcCAtcjEuMjAgc2VyLW1pbmd3LmMKLS0tIGdkYi9zZXItbWluZ3cuYwkx IEphbiAyMDEwIDA3OjMxOjQxIC0wMDAwCTEuMjAKKysrIGdkYi9zZXItbWlu Z3cuYwkyNiBNYXIgMjAxMCAxMDo0ODowMyAtMDAwMApAQCAtMTgsNiArMTgs OSBAQAogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwogCiAjaW5j bHVkZSAiZGVmcy5oIgorI2lmZGVmIFVTRV9XSU4zMkFQSQorI2luY2x1ZGUg PHdpbnNvY2syLmg+CisjZW5kaWYKICNpbmNsdWRlICJzZXJpYWwuaCIKICNp bmNsdWRlICJzZXItYmFzZS5oIgogI2luY2x1ZGUgInNlci10Y3AuaCIKSW5k ZXg6IGdkYi9zZXItdGNwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zZXItdGNwLmMsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMzMKZGlmZiAtdSAtcCAtcjEuMzMgc2VyLXRjcC5jCi0t LSBnZGIvc2VyLXRjcC5jCTEgSmFuIDIwMTAgMDc6MzE6NDEgLTAwMDAJMS4z MworKysgZ2RiL3Nlci10Y3AuYwkyNiBNYXIgMjAxMCAxMDo0ODowMyAtMDAw MApAQCAtMTksNiArMTksOSBAQAogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uICAqLwogCiAjaW5jbHVkZSAiZGVmcy5oIgorI2lmZGVmIFVTRV9XSU4z MkFQSQorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisjZW5kaWYKICNpbmNsdWRl ICJzZXJpYWwuaCIKICNpbmNsdWRlICJzZXItYmFzZS5oIgogI2luY2x1ZGUg InNlci10Y3AuaCIKQEAgLTM4LDcgKzQxLDYgQEAKICNpbmNsdWRlIDxzeXMv dGltZS5oPgogCiAjaWZkZWYgVVNFX1dJTjMyQVBJCi0jaW5jbHVkZSA8d2lu c29jazIuaD4KICNkZWZpbmUgRVRJTUVET1VUIFdTQUVUSU1FRE9VVAogI2Rl ZmluZSBjbG9zZShmZCkgY2xvc2Vzb2NrZXQgKGZkKQogI2RlZmluZSBpb2N0 bCBpb2N0bHNvY2tldApJbmRleDogZ2RiL3Nlci11bml4LmMKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zZXIt dW5peC5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM0CmRpZmYgLXUgLXAg LXIxLjM0IHNlci11bml4LmMKLS0tIGdkYi9zZXItdW5peC5jCTEgSmFuIDIw MTAgMDc6MzE6NDEgLTAwMDAJMS4zNAorKysgZ2RiL3Nlci11bml4LmMJMjYg TWFyIDIwMTAgMTA6NDg6MDMgLTAwMDAKQEAgLTE5LDYgKzE5LDcgQEAKICAg IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KIAogI2luY2x1ZGUgImRl ZnMuaCIKKyNpbmNsdWRlICJnZGJfc2VsZWN0LmgiCiAjaW5jbHVkZSAic2Vy aWFsLmgiCiAjaW5jbHVkZSAic2VyLWJhc2UuaCIKICNpbmNsdWRlICJzZXIt dW5peC5oIgpAQCAtMjksNyArMzAsNiBAQAogI2luY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KICNpbmNsdWRlIDxzeXMvdGltZS5oPgogCi0jaW5jbHVkZSAiZ2Ri X3NlbGVjdC5oIgogI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICNpbmNsdWRl ICJnZGJjbWQuaCIKIAo= --00504502d497acbf600482b1fb81--