+++ /dev/null
-/* PR 3967
-
- local-alloc screwed up consideration of high+lo_sum and created
- reg_equivs that it shouldn't have, resulting in lo_sum with
- uninitialized data, resulting in segv. The test has to remain
- relatively large, since register spilling is required to twig
- the bug. */
-
-unsigned long *Local1;
-unsigned long *Local2;
-unsigned long *Local3;
-unsigned long *RDbf1;
-unsigned long *RDbf2;
-unsigned long *RDbf3;
-unsigned long *IntVc1;
-unsigned long *IntVc2;
-unsigned long *IntCode3;
-unsigned long *IntCode4;
-unsigned long *IntCode5;
-unsigned long *IntCode6;
-unsigned long *Lom1;
-unsigned long *Lom2;
-unsigned long *Lom3;
-unsigned long *Lom4;
-unsigned long *Lom5;
-unsigned long *Lom6;
-unsigned long *Lom7;
-unsigned long *Lom8;
-unsigned long *Lom9;
-unsigned long *Lom10;
-unsigned long *RDbf11;
-unsigned long *RDbf12;
-
-typedef struct
- {
- long a1;
- unsigned long n1;
- unsigned long local1;
- unsigned long local2;
- unsigned long local3;
- unsigned long rdbf1;
- unsigned long rdbf2;
- unsigned long milli;
- unsigned long frames1;
- unsigned long frames2;
- unsigned long nonShared;
- long newPrivate;
- long freeLimit;
- unsigned long cache1;
- unsigned long cache2;
- unsigned long cache3;
- unsigned long cache4;
- unsigned long cache5;
- unsigned long time6;
- unsigned long frames7;
- unsigned long page8;
- unsigned long ot9;
- unsigned long data10;
- unsigned long bm11;
- unsigned long misc12;
- }
-ShrPcCommonStatSType;
-
-
-typedef struct
- {
- unsigned long sharedAttached;
- unsigned long totalAttached;
- long avgPercentShared;
- unsigned long numberOfFreeFrames;
- unsigned long localDirtyPageCount;
- unsigned long globalDirtyPageCount;
- long wakeupInterval;
- unsigned long numActiveProcesses;
- unsigned long numRecentActiveProcesses;
- unsigned long gemDirtyPageKinds[10];
- unsigned long stoneDirtyPageKinds[10];
- unsigned long gemsInCacheCount;
- long targetFreeFrameCount;
- }
-ShrPcMonStatSType;
-
-typedef struct
- {
- unsigned long c1;
- unsigned long c2;
- unsigned long c3;
- unsigned long c4;
- unsigned long c5;
- unsigned long c6;
- unsigned long c7;
- unsigned long c8;
- unsigned long c9;
- unsigned long c10;
- unsigned long c11;
- unsigned long c12;
- unsigned long a1;
- unsigned long a2;
- unsigned long a3;
- unsigned long a4;
- unsigned long a5;
- unsigned long a6;
- unsigned long a7;
- unsigned long a8;
- unsigned long a9;
- unsigned long a10;
- unsigned long a11;
- unsigned long a12;
- unsigned long a13;
- unsigned long a14;
- unsigned long a15;
- unsigned long a16;
- unsigned long a17;
- unsigned long a18;
- unsigned long a19;
- unsigned long sessionStats[40];
- }
-ShrPcGemStatSType;
-
-union ShrPcStatUnion
- {
- ShrPcMonStatSType monitor;
- ShrPcGemStatSType gem;
- };
-
-typedef struct
- {
- int processId;
- int sessionId;
- ShrPcCommonStatSType cmn;
- union ShrPcStatUnion u;
- } ShrPcStatsSType;
-
-typedef struct
- {
- unsigned long *p1;
- unsigned long *p2;
- unsigned long *p3;
- unsigned long *p4;
- unsigned long *p5;
- unsigned long *p6;
- unsigned long *p7;
- unsigned long *p8;
- unsigned long *p9;
- unsigned long *p10;
- unsigned long *p11;
- }
-WorkEntrySType;
-
-WorkEntrySType Workspace;
-
-static void
-setStatPointers (ShrPcStatsSType * statsPtr, long sessionId)
-{
- statsPtr->sessionId = sessionId;
- statsPtr->cmn.a1 = 0;
- statsPtr->cmn.n1 = 5;
-
- Local1 = &statsPtr->cmn.local1;
- Local2 = &statsPtr->cmn.local2;
- Local3 = &statsPtr->cmn.local3;
- RDbf1 = &statsPtr->cmn.rdbf1;
- RDbf2 = &statsPtr->cmn.rdbf2;
- RDbf3 = &statsPtr->cmn.milli;
- *RDbf3 = 1;
-
- IntVc1 = &statsPtr->u.gem.a1;
- IntVc2 = &statsPtr->u.gem.a2;
- IntCode3 = &statsPtr->u.gem.a3;
- IntCode4 = &statsPtr->u.gem.a4;
- IntCode5 = &statsPtr->u.gem.a5;
- IntCode6 = &statsPtr->u.gem.a6;
-
- {
- WorkEntrySType *workSpPtr;
- workSpPtr = &Workspace;
- workSpPtr->p1 = &statsPtr->u.gem.a7;
- workSpPtr->p2 = &statsPtr->u.gem.a8;
- workSpPtr->p3 = &statsPtr->u.gem.a9;
- workSpPtr->p4 = &statsPtr->u.gem.a10;
- workSpPtr->p5 = &statsPtr->u.gem.a11;
- workSpPtr->p6 = &statsPtr->u.gem.a12;
- workSpPtr->p7 = &statsPtr->u.gem.a13;
- workSpPtr->p8 = &statsPtr->u.gem.a14;
- workSpPtr->p9 = &statsPtr->u.gem.a15;
- workSpPtr->p10 = &statsPtr->u.gem.a16;
- workSpPtr->p11 = &statsPtr->u.gem.a17;
- }
- Lom1 = &statsPtr->u.gem.c1;
- Lom2 = &statsPtr->u.gem.c2;
- Lom3 = &statsPtr->u.gem.c3;
- Lom4 = &statsPtr->u.gem.c4;
- Lom5 = &statsPtr->u.gem.c5;
- Lom6 = &statsPtr->u.gem.c6;
- Lom7 = &statsPtr->u.gem.c7;
- Lom8 = &statsPtr->u.gem.c8;
- Lom9 = &statsPtr->u.gem.c9;
- Lom10 = &statsPtr->u.gem.c10;
- RDbf11 = &statsPtr->u.gem.c11;
- RDbf12 = &statsPtr->u.gem.c12;
-}
-
-typedef struct
-{
- ShrPcStatsSType stats;
-} ShrPcPteSType;
-
-ShrPcPteSType MyPte;
-
-static void
-initPte (void *shrpcPtr, long sessionId)
-{
- ShrPcPteSType *ptePtr;
-
- ptePtr = &MyPte;
- setStatPointers (&ptePtr->stats, sessionId);
-}
-
-void
-InitCache (int sessionId)
-{
- initPte (0, sessionId);
-}
-
-int
-main (int argc, char *argv[])
-{
- InitCache (5);
- return 0;
-}