summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--posix/confstr.c26
2 files changed, 24 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 00e7fda684..f96c670ee8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-25 Ulrich Drepper <drepper@redhat.com>
+
+ * posix/confstr.c (confstr): Return appropriate strings for
+ _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, and _CS_LFS64_LINTFLAGS.
+
2004-11-05 Maciej W. Rozycki <macro@mips.com>
* sysdeps/mips/dl-machine.h: Include <sgidefs.h>. Use _ABIO32,
diff --git a/posix/confstr.c b/posix/confstr.c
index 212ec72311..ace60fd273 100644
--- a/posix/confstr.c
+++ b/posix/confstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,96,97,2000-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,96,97,2000-2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,8 +32,8 @@ confstr (name, buf, len)
char *buf;
size_t len;
{
- const char *string;
- size_t string_len;
+ const char *string = "";
+ size_t string_len = 1;
switch (name)
{
@@ -86,10 +86,12 @@ confstr (name, buf, len)
case _CS_XBS5_ILP32_OFFBIG_CFLAGS:
case _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS:
case _CS_LFS_CFLAGS:
+ case _CS_LFS_LINTFLAGS:
#if _XBS5_LP64_OFF64 == -1 && _XBS5_LPBIG_OFFBIG == -1 && _XBS5_ILP32_OFFBIG == 1
/* Signal that we want the new ABI. */
{
- static const char file_offset[] = "-D_FILE_OFFSET_BITS=64";
+ static const char file_offset[]
+ = "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64";
string = file_offset;
string_len = sizeof (file_offset);
}
@@ -97,13 +99,25 @@ confstr (name, buf, len)
#endif
/* FALLTHROUGH */
- case _CS_LFS_LINTFLAGS:
case _CS_LFS_LDFLAGS:
case _CS_LFS_LIBS:
+ /* No special libraries or linker flags needed. */
+ break;
+
case _CS_LFS64_CFLAGS:
case _CS_LFS64_LINTFLAGS:
+ if (sizeof (off_t) != sizeof (off64_t))
+ {
+ static const char lf64_source[] = "-D_LARGEFILE64_SOURCE";
+ string = lf64_source;
+ string_len = sizeof (lf64_source);
+ }
+ break;
+
case _CS_LFS64_LDFLAGS:
case _CS_LFS64_LIBS:
+ /* No special libraries or linker flags needed. */
+ break;
case _CS_XBS5_ILP32_OFF32_CFLAGS:
case _CS_XBS5_ILP32_OFF32_LDFLAGS:
@@ -137,8 +151,6 @@ confstr (name, buf, len)
case _CS_POSIX_V6_LPBIG_OFFBIG_LIBS:
case _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS:
/* GNU libc does not require special actions to use LFS functions. */
- string = "";
- string_len = 1;
break;
case _CS_GNU_LIBC_VERSION: