diff options
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | coreutils/ls.c | 8 | ||||
-rw-r--r-- | ls.c | 8 | ||||
-rw-r--r-- | more.c | 4 | ||||
-rw-r--r-- | util-linux/more.c | 4 |
5 files changed, 38 insertions, 0 deletions
@@ -40,6 +40,16 @@ DODEBUG = false # Do not enable this for production builds... DODMALLOC = false +# If you want large file summit support, turn this on. +# This has no effect if you don't have a kernel with lfs +# support, and a system with libc-2.1.3 or later. +# Some of the programs that can benefit from lfs support +# are dd, gzip, mount, tar, and mkfs_minix. +# LFS allows you to use the above programs for files +# larger than 2GB! +DOLFS = false + + # If you are running a cross compiler, you may want to set this # to something more interesting... CROSS = #powerpc-linux- @@ -63,6 +73,10 @@ OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>& WARNINGS = -Wall +ifeq ($(DOLFS),true) + # For large file summit support + CFLAGS+=-D_FILE_OFFSET_BITS=64 +endif ifeq ($(DODMALLOC),true) # For testing mem leaks with dmalloc CFLAGS+=-DDMALLOC diff --git a/coreutils/ls.c b/coreutils/ls.c index 03fed5478..b818003a8 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c @@ -532,7 +532,11 @@ int list_single(struct dnode *dn) column += 8; break; case LIST_BLOCKS: +#if _FILE_OFFSET_BITS == 64 + fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1); +#else fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1); +#endif column += 5; break; case LIST_MODEBITS: @@ -578,7 +582,11 @@ int list_single(struct dnode *dn) if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) { fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev)); } else { +#if _FILE_OFFSET_BITS == 64 + fprintf(stdout, "%9lld ", dn->dstat.st_size); +#else fprintf(stdout, "%9ld ", dn->dstat.st_size); +#endif } column += 10; break; @@ -532,7 +532,11 @@ int list_single(struct dnode *dn) column += 8; break; case LIST_BLOCKS: +#if _FILE_OFFSET_BITS == 64 + fprintf(stdout, "%4lld ", dn->dstat.st_blocks>>1); +#else fprintf(stdout, "%4ld ", dn->dstat.st_blocks>>1); +#endif column += 5; break; case LIST_MODEBITS: @@ -578,7 +582,11 @@ int list_single(struct dnode *dn) if (S_ISBLK(dn->dstat.st_mode) || S_ISCHR(dn->dstat.st_mode)) { fprintf(stdout, "%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev)); } else { +#if _FILE_OFFSET_BITS == 64 + fprintf(stdout, "%9lld ", dn->dstat.st_size); +#else fprintf(stdout, "%9ld ", dn->dstat.st_size); +#endif } column += 10; break; @@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv) lines = 0; len = fprintf(stdout, "--More-- "); if (file != stdin) { +#if _FILE_OFFSET_BITS == 64 + len += fprintf(stdout, "(%d%% of %lld bytes)", +#else len += fprintf(stdout, "(%d%% of %ld bytes)", +#endif (int) (100 * ((double) ftell(file) / (double) st.st_size)), diff --git a/util-linux/more.c b/util-linux/more.c index 12168b519..45b7c1274 100644 --- a/util-linux/more.c +++ b/util-linux/more.c @@ -123,7 +123,11 @@ extern int more_main(int argc, char **argv) lines = 0; len = fprintf(stdout, "--More-- "); if (file != stdin) { +#if _FILE_OFFSET_BITS == 64 + len += fprintf(stdout, "(%d%% of %lld bytes)", +#else len += fprintf(stdout, "(%d%% of %ld bytes)", +#endif (int) (100 * ((double) ftell(file) / (double) st.st_size)), |