From 4c77d7f403bb9f6ce2a55dc40e1bf87720f6e3eb Mon Sep 17 00:00:00 2001
From: Uros Bizjak <uros@gcc.gnu.org>
Date: Sun, 4 Jan 2009 18:51:05 +0100
Subject: [PATCH] struct-ret-3.c: Include unistd.h.

	* gcc.dg/struct-ret-3.c: Include unistd.h.
	(main): Exit early if system memory page size is
	larger than 4096 bytes.

From-SVN: r143056
---
 gcc/testsuite/ChangeLog             | 8 +++++++-
 gcc/testsuite/gcc.dg/struct-ret-3.c | 6 ++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 752b12ed9d47..a38b9d165a21 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	* gcc.dg/struct-ret-3.c: Include unistd.h.
+	(main): Exit early if system memory page size is
+	larger than 4096 bytes.
+
 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
 
 	PR fortran/38718
@@ -75,7 +81,7 @@
 	* gcc.c-torture/compile/pr38564.c: New testcase.
 
 2008-12-29  Dorit Nuzman  <dorit@il.ibm.com>
-            Ira Rosen  <irar@il.ibm.com>
+	    Ira Rosen  <irar@il.ibm.com>
 
 	PR tree-optimization/38529
 	* gcc.dg/vect/pr38529.c: New test.
diff --git a/gcc/testsuite/gcc.dg/struct-ret-3.c b/gcc/testsuite/gcc.dg/struct-ret-3.c
index 4a603cbe681f..c384d49c590b 100644
--- a/gcc/testsuite/gcc.dg/struct-ret-3.c
+++ b/gcc/testsuite/gcc.dg/struct-ret-3.c
@@ -7,6 +7,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <errno.h>
+#include <unistd.h>
 
 unsigned long ossAlignX(unsigned long i, unsigned long X)
 {
@@ -69,6 +70,11 @@ int main(void)
 
    char buf[sizeof(struct stuff)+4096];
    struct stuff *u = (struct stuff *)ossAlignX((unsigned long)&buf[0], 4096);
+
+   /* This test assumes system memory page size of 4096 bytes or less.  */
+   if (sysconf(_SC_PAGESIZE) > 4096)
+     return 0;
+
    memset(u, 1, sizeof(struct stuff));
    u->c1[0] = '\xAA';
    u->c2[0] = '\xBB';
-- 
GitLab