This is the mail archive of the
mailing list for the GCC project.
V3 PATCH: Update Solaris defines
- To: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Subject: V3 PATCH: Update Solaris defines
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 07 May 2001 20:06:25 -0700
- Organization: CodeSourcery, LLC
On Solaris 2.8, eb39.C was failing. This was a regression from GCC
The reason is that V3 was defining _LARGEFILE64_SOURCE, but not
_LARGEFILE_SOURCE. This makes include <stdio.h> not work on Solaris
2.8 because off64_t does not get defined, but:
extern int fseeko64(FILE *, off64_t, int);
does get declared. Because Solaris 2.7 and 2.8 share a configuration
file, I've changed Solaris 2.7 as well. Hopefully that won't hurt
It may be that this patch is needed on Solaris 2. as well, but I
don't have access to any such systems.
The symptom is that eb39 fails with a parse error. And, near the top
of stdio.h, you have a definition of off64_t that is dependent on both
_LARGEFILE_SOURCE and _LARGEFILE64_SOURCE.
Tested on sparc-sun-solaris2.8, applied on the mainline and on the
Mark Mitchell firstname.lastname@example.org
CodeSourcery, LLC http://www.codesourcery.com
2001-05-07 Mark Mitchell <email@example.com>
(_LARGEFILE_SOURCE): Define it.
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h,v
retrieving revision 1.5
diff -c -p -r1.5 os_defines.h
*** os_defines.h 2000/11/13 00:25:40 1.5
--- os_defines.h 2001/05/08 02:59:43
*** 33,38 ****
--- 33,39 ----
// Need these to get sane definitions, esp. of 64-bit types and typedefs.
#define _XOPEN_SOURCE 500
+ #define _LARGEFILE_SOURCE 1
#define _LARGEFILE64_SOURCE 1