All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Janda <felix.janda@posteo.de>
To: grub-devel@gnu.org
Subject: [PATCH] On linux require the libc to have large file support
Date: Sat, 17 Jan 2015 14:57:07 +0100	[thread overview]
Message-ID: <20150117135706.GA23804@euler> (raw)

With this, support code in grub-core/osdep/unix/hostdisk.c
for old glibc releases could be removed.
---
This patch tries to address the issues raised in

http://lists.gnu.org/archive/html/grub-devel/2014-12/msg00030.html
---
 INSTALL                         |  1 +
 configure.ac                    |  5 +++++
 grub-core/osdep/unix/hostdisk.c | 25 -------------------------
 3 files changed, 6 insertions(+), 25 deletions(-)

diff --git a/INSTALL b/INSTALL
index b67cd7f..ac7c2aa 100644
--- a/INSTALL
+++ b/INSTALL
@@ -39,6 +39,7 @@ configuring the GRUB.
 On GNU/Linux, you also need:
 
 * libdevmapper 1.02.34 or later (recommended)
+* a libc with large file support (e.g. glibc 2.1 or later)
 
 For optional grub-emu features, you need:
 
diff --git a/configure.ac b/configure.ac
index 31d2b0b..bdaebb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -346,6 +346,11 @@ AC_GNU_SOURCE
 AM_GNU_GETTEXT([external])
 AC_SYS_LARGEFILE
 
+if test x"$host_kernel" = xlinux ; then
+  AC_CHECK_SIZEOF(off_t)
+  test x"$ac_cv_sizeof_off_t" = x8 || AC_MSG_ERROR([Large file support is required])
+fi
+
 # Identify characteristics of the host architecture.
 unset ac_cv_c_bigendian
 
diff --git a/grub-core/osdep/unix/hostdisk.c b/grub-core/osdep/unix/hostdisk.c
index 43b56ff..14cab1c 100644
--- a/grub-core/osdep/unix/hostdisk.c
+++ b/grub-core/osdep/unix/hostdisk.c
@@ -48,11 +48,6 @@
 #ifdef __linux__
 # include <sys/ioctl.h>         /* ioctl */
 # include <sys/mount.h>
-# if !defined(__GLIBC__) || \
-        ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
-/* Maybe libc doesn't have large file support.  */
-#  include <linux/unistd.h>     /* _llseek */
-# endif /* (GLIBC < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR < 1)) */
 #endif /* __linux__ */
 
 grub_uint64_t
@@ -79,24 +74,6 @@ grub_util_get_fd_size (grub_util_fd_t fd, const char *name, unsigned *log_secsiz
   return st.st_size;
 }
 
-#if defined(__linux__) && (!defined(__GLIBC__) || \
-        ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
-  /* Maybe libc doesn't have large file support.  */
-int
-grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
-{
-  loff_t offset, result;
-  static int _llseek (uint filedes, ulong hi, ulong lo,
-		      loff_t *res, uint wh);
-  _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo,
-	     loff_t *, res, uint, wh);
-
-  offset = (loff_t) off;
-  if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET))
-    return -1;
-  return GRUB_ERR_NONE;
-}
-#else
 int
 grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
 {
@@ -107,8 +84,6 @@ grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
 
   return 0;
 }
-#endif
-
 
 /* Read LEN bytes from FD in BUF. Return less than or equal to zero if an
    error occurs, otherwise return LEN.  */
-- 
2.0.5


             reply	other threads:[~2015-01-17 13:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-17 13:57 Felix Janda [this message]
2015-01-18 17:53 ` [PATCH] On linux require the libc to have large file support Andrei Borzenkov
2015-01-18 18:11   ` Felix Janda
2015-01-18 18:18     ` Felix Janda
2015-01-22 18:56       ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-01-25 18:49         ` Felix Janda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150117135706.GA23804@euler \
    --to=felix.janda@posteo.de \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.