Browse Source

- honor uclibc's notion of LFS support

Bernhard Reutner-Fischer 18 years ago
parent
commit
eb3b21be72
2 changed files with 38 additions and 0 deletions
  1. 34 0
      target/x86/grub/grub.300-honor_UCLIBC_HAS_LFS.patch
  2. 4 0
      target/x86/grub/grub.mk

+ 34 - 0
target/x86/grub/grub.300-honor_UCLIBC_HAS_LFS.patch

@@ -0,0 +1,34 @@
+diff -rup grub-0.97.orig/grub/asmstub.c grub-0.97/grub/asmstub.c
+--- grub-0.97.orig/grub/asmstub.c	2006-11-29 20:36:20.000000000 +0100
++++ grub-0.97/grub/asmstub.c	2006-11-29 21:26:16.000000000 +0100
+@@ -18,10 +18,13 @@
+  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+  */
+ 
++#include <features.h>
++#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
+ /* Try to use glibc's transparant LFS support. */
+ #define _LARGEFILE_SOURCE	1
+ /* lseek becomes synonymous with lseek64.  */
+ #define _FILE_OFFSET_BITS	64
++#endif
+ 
+ /* Simulator entry point. */
+ int grub_stage2 (void);
+diff -rup grub-0.97.orig/lib/device.c grub-0.97/lib/device.c
+--- grub-0.97.orig/lib/device.c	2006-11-29 20:36:20.000000000 +0100
++++ grub-0.97/lib/device.c	2006-11-29 21:25:19.000000000 +0100
+@@ -18,10 +18,13 @@
+  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+  */
+ 
++#include <features.h>
++#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
+ /* Try to use glibc's transparant LFS support. */
+ #define _LARGEFILE_SOURCE       1
+ /* lseek becomes synonymous with lseek64.  */
+ #define _FILE_OFFSET_BITS       64
++#endif
+ 
+ #include <stdio.h>
+ #include <stdlib.h>

+ 4 - 0
target/x86/grub/grub.mk

@@ -36,6 +36,10 @@ GRUB_TARGET_FILES+=$(GRUB_SPLASHIMAGE)
 endif
 GRUB_CFLAGS=-DSUPPORT_LOOPDEV
 
+ifeq ($(BR2_LARGEFILE),)
+GRUB_CFLAGS+=-U_FILE_OFFSET_BITS
+endif
+
 $(DL_DIR)/$(GRUB_SOURCE):
 	 $(WGET) -P $(DL_DIR) $(GRUB_SITE)/$(GRUB_SOURCE)