[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Code in valloc.c causes cvs to crash on Cray systems.
From: |
Richard Powell |
Subject: |
Code in valloc.c causes cvs to crash on Cray systems. |
Date: |
Thu, 3 Jan 2002 19:37:54 -0800 (PST) |
>Submitter-Id: net
>Originator: Richard Powell
>Organization:
net
>Confidential:
no
>Synopsis:
The pointer manipulations in lib/valloc.c lead to memory corruption on Cray
vector systems.
>Severity:
serious
>Priority:
high
>Category: portability
>Class:
sw-bug
>Release: cvs-1.11
>Environment:
All Cray vector platforms running UNICOS
System: sn9132 edge 10.0.0la d10.168 CRAY SV1
Architecture: Cray-PVP
>Description:
The pointer manipulations in lib/valloc.c, which try to round up the address to
a
page boundary, are somewhat platform dependent and may not work on
architectures that have to simulate byte addressing, such as Cray vector
machines.
>How-To-Repeat:
>Fix:
This patch will allow for platform specific definitions of the getpagesize()
function.
"_CRAY1" is defined by the Cray C compiler on all Cray vector machines.
cvs diff getpagesize.h
Index: getpagesize.h
===================================================================
RCS file: /cvs/ccvs/lib/getpagesize.h,v
retrieving revision 1.2
diff -r1.2 getpagesize.h
18,26c18,32
< #if defined (HAVE_UNISTD_H)
< # include <unistd.h>
< # if defined (_SC_PAGESIZE)
< # define getpagesize() sysconf(_SC_PAGESIZE)
< # else
< # if defined (_SC_PAGE_SIZE)
< # define getpagesize() sysconf(_SC_PAGE_SIZE)
< # endif /* _SC_PAGE_SIZE */
< # endif /* _SC_PAGESIZE */
---
> #if defined (_CRAY1)
> # define getpagesize() 1
> #endif
>
> #if !defined (getpagesize)
> # if defined (HAVE_UNISTD_H)
> # include <unistd.h>
> # if defined (_SC_PAGESIZE)
> # define getpagesize() sysconf(_SC_PAGESIZE)
> # else
> # if defined (_SC_PAGE_SIZE)
> # define getpagesize() sysconf(_SC_PAGE_SIZE)
> # endif /* _SC_PAGE_SIZE */
> # endif /* _SC_PAGESIZE */
> # endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Code in valloc.c causes cvs to crash on Cray systems.,
Richard Powell <=