From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id 9ED9C3858C31 for ; Wed, 13 Mar 2024 13:39:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9ED9C3858C31 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9ED9C3858C31 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::535 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710337165; cv=none; b=qL7PEAHRiKE/JTUNsjBdaPHxTveVs7LB9QIv5kdoAteB8uEEdPNuQdBopa7aVEi7YBpidTwRkg01VlLNjhG7Pvl6pDXcqtAq6xrPwXogXpRbmST90F6oc6Jzrw4cCmi37dY5MUktMajE3BnS+RpxHR2GvrmuA2+THSMhcDWoSy4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710337165; c=relaxed/simple; bh=d6MhAQN+qoDkB79GjZqDThWYWFxv/FbqyZ2jqsoKU/k=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=sPQsoddRBhLpMZY0znqqCS5AMIBFQpGpCJABhgKV5LT34IWjZT0ut5wTlcyLbqxOo++6PMXe8NERkIPaD+ws9pcnko2oTS246nKjo0K3SDGwFR0EiADxjJqe4bxepYszJ1/tNXHxqAuZ9afpgG5FboribCFmMa8kCKBgDnfMDQE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-5c66b093b86so694771a12.0 for ; Wed, 13 Mar 2024 06:39:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710337162; x=1710941962; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=XnwNGtBMvsBqZWFZWcsCLBIrytwh/hCetntJBMC4f0c=; b=kvR/KXh8Vh+4DKUJvG9imILZiuIgra7LgdfDbAIO0ZxrdqVx7usz0Fv0O3Rwp0I4Nn 5GHh3Z6Sn/Qy7MQx4iwFHFAV306oAnXNcahpvxLTQf9i1R6npIT/2f2vbJRB5YLmb6Ni al+ItT2/QjEq8dFNIQiy/JUuLuru8OYRJD5IFp9THeqVj4grPIaJ3gQoUU7SynzjEdKO ldjT1OGVsu4tycB23+0UIYMSgEyFHtoz2oR9Wi/bJEhwPen4wwGdcJ8LlPO07Z7WWAr3 GYpFcvT9QzC2JOtVvtVNAzI37xwJBBi93zZ09ESfLEHhbYtMATPd8GVCtJEZ7Xz7JiTe 9xMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710337162; x=1710941962; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XnwNGtBMvsBqZWFZWcsCLBIrytwh/hCetntJBMC4f0c=; b=m7JLiV72faaU6Vus3S8ksDw8fmX7DMumDbtKLj9LCNpewp+0Quditr9439tpbqSmFv M3wUnMFSv8swI15XICsrDGotTxCxfwlBxBm3/a87zReq+AA1Ud0D61JB9z8Rl9gZarWo Sb7o0da1giOZWDr3AsfIpySkoGqkMplo2C3IXdC4OrZIX+KGHgl0vSXM5G3mKqdo2CSQ N8IxVDHjRpTz3lctILCYEEcwxey1BBpB9YN5HEzovY9vlfDYvlYdNVnJhjzTqc2agUSd GurfQGus/TpoB1yv630HaYlTVIaZ2qyU3W8P/sGAZOGaw5xqi2sp+jVDW7T3F+bZhkOV eQ2A== X-Gm-Message-State: AOJu0Yyo6k6OJvUjU/6JW4MAfWeJEdW7B9xn3aKWitcd+RHUt0YL2twf M7CjLYYruP8JMp9ORNOOrX5aeZztX/CUxtorES1DebppbEM/gNhF/DlWDtRU X-Google-Smtp-Source: AGHT+IHtH0+AYpHKIBUVmyDUE+SSy9VRxnThOj36bHgdKbZ53T6YnHRtzZuMFyCzS7c8JoadzO5wZA== X-Received: by 2002:a17:90b:485:b0:29b:6cfb:14a6 with SMTP id bh5-20020a17090b048500b0029b6cfb14a6mr3824047pjb.11.1710337162077; Wed, 13 Mar 2024 06:39:22 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.58.89.72]) by smtp.gmail.com with ESMTPSA id l18-20020a17090b079200b0029baf777c59sm1345819pjz.17.2024.03.13.06.39.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 06:39:20 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 954BD740050 for ; Wed, 13 Mar 2024 06:39:19 -0700 (PDT) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH] bfd: Use MAP_FAILED for mmap failure Date: Wed, 13 Mar 2024 06:39:19 -0700 Message-ID: <20240313133919.3922905-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3019.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_ABUSEAT,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: I will check in this patch today. H.J. --- Use MAP_FAILED, instead of ((void *) -1), for mmap failure and use ((void *) -1) only if MAP_FAILED is undefined. * bfdio.c (bfd_mmap): Replace (void *) -1 with MAP_FAILED for mmap failure. * bfdwin.c: Don't include . (MAP_FILE): Removed. (bfd_get_file_window): Replace (void *) -1 with MAP_FAILED for mmap failure. * cache.c: Don't include . (cache_bmmap): Replace (void *) -1 with MAP_FAILED for mmap failure. * opncls.c (opncls_bmmap): Likewise. * sysdep.h: Include if HAVE_MMAP is define. (MAP_FILE): New. Defined as 0 if undefined. (MAP_FAILED): New. Defined as ((void *) -1) if undefined. --- bfd/bfdio.c | 2 +- bfd/bfdwin.c | 10 +--------- bfd/cache.c | 10 +++------- bfd/opncls.c | 2 +- bfd/sysdep.h | 12 ++++++++++++ bfd/vms-lib.c | 2 +- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/bfd/bfdio.c b/bfd/bfdio.c index ab3e28ea204..1572de00ad4 100644 --- a/bfd/bfdio.c +++ b/bfd/bfdio.c @@ -666,7 +666,7 @@ bfd_mmap (bfd *abfd, void *addr, bfd_size_type len, if (abfd->iovec == NULL) { bfd_set_error (bfd_error_invalid_operation); - return (void *) -1; + return MAP_FAILED; } return abfd->iovec->bmmap (abfd, addr, len, prot, flags, offset, diff --git a/bfd/bfdwin.c b/bfd/bfdwin.c index beb17398744..2919c71b3cb 100644 --- a/bfd/bfdwin.c +++ b/bfd/bfdwin.c @@ -31,14 +31,6 @@ #undef HAVE_MPROTECT /* code's not tested yet */ -#if HAVE_MMAP || HAVE_MPROTECT || HAVE_MADVISE -#include -#endif - -#ifndef MAP_FILE -#define MAP_FILE 0 -#endif - static int debug_windows; /* The idea behind the next and refcount fields is that one mapped @@ -234,7 +226,7 @@ bfd_get_file_window (bfd *abfd, ? MAP_FILE | MAP_PRIVATE : MAP_FILE | MAP_SHARED), fd, file_offset); - if (i->data == (void *) -1) + if (i->data == MAP_FAILED) { /* An error happened. Report it, or try using malloc, or something. */ diff --git a/bfd/cache.c b/bfd/cache.c index 4c00c00f8d5..3bc2afc9f36 100644 --- a/bfd/cache.c +++ b/bfd/cache.c @@ -45,10 +45,6 @@ SUBSECTION #include "libbfd.h" #include "libiberty.h" -#ifdef HAVE_MMAP -#include -#endif - static FILE *_bfd_open_file_unlocked (bfd *abfd); /* In some cases we can optimize cache operation when reopening files. @@ -489,7 +485,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED, void **map_addr ATTRIBUTE_UNUSED, bfd_size_type *map_len ATTRIBUTE_UNUSED) { - void *ret = (void *) -1; + void *ret = MAP_FAILED; if (!bfd_lock ()) return ret; @@ -518,7 +514,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED, pg_len = (len + (offset - pg_offset) + pagesize_m1) & ~pagesize_m1; ret = mmap (addr, pg_len, prot, flags, fileno (f), pg_offset); - if (ret == (void *) -1) + if (ret == MAP_FAILED) bfd_set_error (bfd_error_system_call); else { @@ -530,7 +526,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED, #endif if (!bfd_unlock ()) - return (void *) -1; + return MAP_FAILED; return ret; } diff --git a/bfd/opncls.c b/bfd/opncls.c index a0a5c40fba8..096672475c4 100644 --- a/bfd/opncls.c +++ b/bfd/opncls.c @@ -675,7 +675,7 @@ opncls_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED, void **map_addr ATTRIBUTE_UNUSED, bfd_size_type *map_len ATTRIBUTE_UNUSED) { - return (void *) -1; + return MAP_FAILED; } static const struct bfd_iovec opncls_iovec = diff --git a/bfd/sysdep.h b/bfd/sysdep.h index a5766657345..b907bc26a09 100644 --- a/bfd/sysdep.h +++ b/bfd/sysdep.h @@ -86,6 +86,18 @@ #define SEEK_CUR 1 #endif +#ifdef HAVE_MMAP +#include +#endif + +#ifndef MAP_FILE +#define MAP_FILE 0 +#endif + +#ifndef MAP_FAILED +#define MAP_FAILED ((void *) -1) +#endif + #include "filenames.h" #if !HAVE_DECL_FFS diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c index b0ca9908b17..592a57fbe68 100644 --- a/bfd/vms-lib.c +++ b/bfd/vms-lib.c @@ -1277,7 +1277,7 @@ vms_lib_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED, void **map_addr ATTRIBUTE_UNUSED, bfd_size_type *map_len ATTRIBUTE_UNUSED) { - return (void *) -1; + return MAP_FAILED; } static const struct bfd_iovec vms_lib_iovec = { -- 2.44.0