diff options
Diffstat (limited to 'libsframe/testsuite')
-rw-r--r-- | libsframe/testsuite/libsframe.decode/be-flipping.c | 16 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.decode/frecnt-1.c | 16 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.decode/frecnt-2.c | 17 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.decode/local.mk | 12 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.encode/encode-1.c | 70 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.encode/local.mk | 4 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.find/findfre-1.c | 22 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.find/findfunc-1.c | 27 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.find/local.mk | 16 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.find/plt-findfre-1.c | 12 | ||||
-rw-r--r-- | libsframe/testsuite/libsframe.find/plt-findfre-2.c | 12 | ||||
-rw-r--r-- | libsframe/testsuite/local.mk | 3 | ||||
-rw-r--r-- | libsframe/testsuite/sframe-test.h | 43 |
13 files changed, 138 insertions, 132 deletions
diff --git a/libsframe/testsuite/libsframe.decode/be-flipping.c b/libsframe/testsuite/libsframe.decode/be-flipping.c index 5002524..c8b627b 100644 --- a/libsframe/testsuite/libsframe.decode/be-flipping.c +++ b/libsframe/testsuite/libsframe.decode/be-flipping.c @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdio.h> -#include <stdlib.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" /* SFrame info from the following source (1 fde 5 fres): static int cnt; @@ -55,6 +45,7 @@ main (void) struct stat st; char *sf_buf; size_t sf_size; + uint8_t rep_block_size; #define TEST(name, cond) \ do \ @@ -101,7 +92,8 @@ main (void) unsigned int fde_cnt = sframe_decoder_get_num_fidx (dctx); TEST ("be-flipping: Decoder FDE count", fde_cnt == 1); - err = sframe_decoder_get_funcdesc (dctx, 0, &nfres, &fsize, &fstart, &finfo); + err = sframe_decoder_get_funcdesc_v2 (dctx, 0, &nfres, &fsize, &fstart, + &finfo, &rep_block_size); TEST ("be-flipping: Decoder get FDE", err == 0); TEST ("be-flipping: Decoder FRE count", nfres == 5); diff --git a/libsframe/testsuite/libsframe.decode/frecnt-1.c b/libsframe/testsuite/libsframe.decode/frecnt-1.c index 77b0440..9cf55ef 100644 --- a/libsframe/testsuite/libsframe.decode/frecnt-1.c +++ b/libsframe/testsuite/libsframe.decode/frecnt-1.c @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdio.h> -#include <stdlib.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" /* * SFrame info from the following source (1 fde 4 fres): @@ -46,6 +36,7 @@ main (void) struct stat st; char *sf_buf; size_t sf_size; + uint8_t rep_block_size; #define TEST(name, cond) \ do \ @@ -85,7 +76,8 @@ main (void) unsigned int fde_cnt = sframe_decoder_get_num_fidx (dctx); TEST ("frecnt-1: Decoder FDE count", fde_cnt == 1); - err = sframe_decoder_get_funcdesc (dctx, 0, &nfres, &fsize, &fstart, &finfo); + err = sframe_decoder_get_funcdesc_v2 (dctx, 0, &nfres, &fsize, &fstart, + &finfo, &rep_block_size); TEST ("frecnt-1: Decoder get FDE", err == 0); TEST ("frecnt-1: Decoder FRE count", nfres == 4); diff --git a/libsframe/testsuite/libsframe.decode/frecnt-2.c b/libsframe/testsuite/libsframe.decode/frecnt-2.c index 912fdbd..9136e9a 100644 --- a/libsframe/testsuite/libsframe.decode/frecnt-2.c +++ b/libsframe/testsuite/libsframe.decode/frecnt-2.c @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdio.h> -#include <stdlib.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" /* * SFrame info from the following source (2 fde 8 fres): @@ -48,6 +38,7 @@ main (void) struct stat st; char *sf_buf; size_t sf_size; + uint8_t rep_block_size; #define TEST(name, cond) \ do \ @@ -88,8 +79,8 @@ main (void) for (i = 0; i < fde_cnt; ++i) { - err = sframe_decoder_get_funcdesc (dctx, i, &nfres, &fsize, &fstart, - &finfo); + err = sframe_decoder_get_funcdesc_v2 (dctx, i, &nfres, &fsize, &fstart, + &finfo, &rep_block_size); TEST ("frecnt-2: Decode get FDE", err == 0); TEST ("frecnt-2: Decode get FRE", nfres == 4); } diff --git a/libsframe/testsuite/libsframe.decode/local.mk b/libsframe/testsuite/libsframe.decode/local.mk index 0e4279b..de34bbc 100644 --- a/libsframe/testsuite/libsframe.decode/local.mk +++ b/libsframe/testsuite/libsframe.decode/local.mk @@ -4,13 +4,13 @@ if HAVE_COMPAT_DEJAGNU endif %C%_be_flipping_SOURCES = %D%/be-flipping.c -%C%_be_flipping_LDADD = ${top_builddir}/libsframe.la -%C%_be_flipping_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_be_flipping_LDADD = $(testsuite_LDADD) +%C%_be_flipping_CPPFLAGS = $(testsuite_CPPFLAGS) %C%_frecnt_1_SOURCES = %D%/frecnt-1.c -%C%_frecnt_1_LDADD = ${top_builddir}/libsframe.la -%C%_frecnt_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_frecnt_1_LDADD = $(testsuite_LDADD) +%C%_frecnt_1_CPPFLAGS = $(testsuite_CPPFLAGS) %C%_frecnt_2_SOURCES = %D%/frecnt-2.c -%C%_frecnt_2_LDADD = ${top_builddir}/libsframe.la -%C%_frecnt_2_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_frecnt_2_LDADD = $(testsuite_LDADD) +%C%_frecnt_2_CPPFLAGS = $(testsuite_CPPFLAGS) diff --git a/libsframe/testsuite/libsframe.encode/encode-1.c b/libsframe/testsuite/libsframe.encode/encode-1.c index 1ba75d7..da477e5 100644 --- a/libsframe/testsuite/libsframe.encode/encode-1.c +++ b/libsframe/testsuite/libsframe.encode/encode-1.c @@ -15,22 +15,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" static int -add_fde1 (sframe_encoder_ctx *encode, int idx) +add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, + uint32_t sframe_vaddr, int idx, uint32_t *func_size) { - int i, err; +#define FDE1_NUM_FRES 4 /* A contiguous block containing 4 FREs. */ sframe_frame_row_entry fres[] = { {0x0, {0x8, 0, 0}, 0x3}, @@ -38,40 +29,60 @@ add_fde1 (sframe_encoder_ctx *encode, int idx) {0x4, {0x10, 0xf0, 0}, 0x4}, {0x1a, {0x8, 0xf0, 0}, 0x5} }; - + /* Function size in bytes. P.S. Must be a value greater than the + fre_start_addr of the last FRE above (0x1a). */ + *func_size = 0x1b; + + uint32_t offsetof_fde_in_sec + = sframe_encoder_get_offsetof_fde_start_addr (encode, idx, NULL); + int32_t func1_start_addr = (start_pc_vaddr + - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - err = sframe_encoder_add_funcdesc (encode, 0xfffff022, 0x1b, finfo, 4); + int err = sframe_encoder_add_funcdesc_v2 (encode, func1_start_addr, + *func_size, finfo, 0, + FDE1_NUM_FRES); if (err == -1) return err; - for (i = 0; i < 4; i++) - if (sframe_encoder_add_fre (encode, idx,fres+i) == SFRAME_ERR) + for (unsigned int i = 0; i < FDE1_NUM_FRES; i++) + if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR) return -1; return 0; } static int -add_fde2 (sframe_encoder_ctx *encode, int idx) +add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, + uint32_t sframe_vaddr, int idx, uint32_t *func_size) + { - int i, err; /* A contiguous block containing 4 FREs. */ +#define FDE2_NUM_FRES 4 sframe_frame_row_entry fres[] = { {0x0, {0x8, 0, 0}, 0x3}, {0x1, {0x10, 0xf0, 0}, 0x5}, {0x4, {0x10, 0xf0, 0}, 0x4}, {0xf, {0x8, 0xf0, 0}, 0x5} }; - + /* Function size in bytes. P.S. Must be a value greater than the + fre_start_addr of the last FRE above (0xf). */ + *func_size = 0x10; + + uint32_t offsetof_fde_in_sec + = sframe_encoder_get_offsetof_fde_start_addr (encode, idx, NULL); + int32_t func1_start_addr = (start_pc_vaddr + - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - err = sframe_encoder_add_funcdesc (encode, 0xfffff029, 0x10, finfo, 4); + int err = sframe_encoder_add_funcdesc_v2 (encode, func1_start_addr, + *func_size, finfo, 0, + FDE1_NUM_FRES); if (err == -1) return err; - for (i = 0; i < 4; i++) - if (sframe_encoder_add_fre (encode, idx, fres+i) == SFRAME_ERR) + for (unsigned int i = 0; i < FDE1_NUM_FRES; i++) + if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR) return -1; return 0; @@ -129,6 +140,11 @@ int main (void) { sframe_encoder_ctx *encode; sframe_frame_row_entry frep; + uint32_t sframe_vaddr; + uint32_t func1_start_vaddr; + uint32_t func2_start_vaddr; + uint32_t func1_size = 0; + uint32_t func2_size = 0; char *sframe_buf; size_t sf_size; int err = 0; @@ -145,6 +161,7 @@ int main (void) } \ while (0) + sframe_vaddr = 0x4020c8; encode = sframe_encode (SFRAME_VERSION, SFRAME_F_FDE_FUNC_START_PCREL, SFRAME_ABI_AMD64_ENDIAN_LITTLE, @@ -158,10 +175,13 @@ int main (void) err = sframe_encoder_add_fre (encode, 1, &frep); TEST ("encode-1: Encoder update workflow", err == SFRAME_ERR); - err = add_fde1 (encode, 0); + func1_start_vaddr = 0x401106; + err = add_fde1 (encode, func1_start_vaddr, sframe_vaddr, 0, &func1_size); TEST ("encode-1: Encoder adding FDE1", err == 0); - err = add_fde2 (encode, 1); + /* Function 2 is placed after 0x0 bytes from the end of Function 1. */ + func2_start_vaddr = func1_start_vaddr + func1_size + 0x0; + err = add_fde2 (encode, func2_start_vaddr, sframe_vaddr, 1, &func2_size); TEST ("encode-1: Encoder adding FDE2", err == 0); fde_cnt = sframe_encoder_get_num_fidx (encode); diff --git a/libsframe/testsuite/libsframe.encode/local.mk b/libsframe/testsuite/libsframe.encode/local.mk index 477d4b6..6b09651 100644 --- a/libsframe/testsuite/libsframe.encode/local.mk +++ b/libsframe/testsuite/libsframe.encode/local.mk @@ -3,5 +3,5 @@ if HAVE_COMPAT_DEJAGNU endif %C%_encode_1_SOURCES = %D%/encode-1.c -%C%_encode_1_LDADD = ${top_builddir}/libsframe.la -%C%_encode_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_encode_1_LDADD = $(testsuite_LDADD) +%C%_encode_1_CPPFLAGS = $(testsuite_CPPFLAGS) diff --git a/libsframe/testsuite/libsframe.find/findfre-1.c b/libsframe/testsuite/libsframe.find/findfre-1.c index 7c7c947..cbd7ab3 100644 --- a/libsframe/testsuite/libsframe.find/findfre-1.c +++ b/libsframe/testsuite/libsframe.find/findfre-1.c @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" static int add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, @@ -49,8 +39,9 @@ add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - int err = sframe_encoder_add_funcdesc (encode, func1_start_addr, *func_size, - finfo, FDE1_NUM_FRES); + int err = sframe_encoder_add_funcdesc_v2 (encode, func1_start_addr, + *func_size, finfo, 0, + FDE1_NUM_FRES); if (err == -1) return err; @@ -83,8 +74,9 @@ add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - int err = sframe_encoder_add_funcdesc (encode, func2_start_addr, *func_size, - finfo, FDE2_NUM_FRES); + int err = sframe_encoder_add_funcdesc_v2 (encode, func2_start_addr, + *func_size, finfo, 0, + FDE2_NUM_FRES); if (err == -1) return err; diff --git a/libsframe/testsuite/libsframe.find/findfunc-1.c b/libsframe/testsuite/libsframe.find/findfunc-1.c index 00b9e8d..1dcd870 100644 --- a/libsframe/testsuite/libsframe.find/findfunc-1.c +++ b/libsframe/testsuite/libsframe.find/findfunc-1.c @@ -22,17 +22,7 @@ The tests in here stress the sframe_get_funcdesc_with_addr API via calls to the sframe_find_fre (). */ -#include "config.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" static int add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, @@ -56,8 +46,9 @@ add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - int err = sframe_encoder_add_funcdesc (encode, func1_start_addr, *func_size, - finfo, FDE1_NUM_FRES); + int err = sframe_encoder_add_funcdesc_v2 (encode, func1_start_addr, + *func_size, finfo, 0, + FDE1_NUM_FRES); if (err == -1) return err; @@ -90,8 +81,9 @@ add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - int err = sframe_encoder_add_funcdesc (encode, func2_start_addr, *func_size, - finfo, FDE2_NUM_FRES); + int err = sframe_encoder_add_funcdesc_v2 (encode, func2_start_addr, + *func_size, finfo, 0, + FDE2_NUM_FRES); if (err == -1) return err; @@ -124,8 +116,9 @@ add_fde3 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr, - (sframe_vaddr + offsetof_fde_in_sec)); unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, SFRAME_FDE_TYPE_PCINC); - int err = sframe_encoder_add_funcdesc (encode, func3_start_addr, *func_size, - finfo, FDE3_NUM_FRES); + int err = sframe_encoder_add_funcdesc_v2 (encode, func3_start_addr, + *func_size, finfo, 0, + FDE3_NUM_FRES); if (err == -1) return err; diff --git a/libsframe/testsuite/libsframe.find/local.mk b/libsframe/testsuite/libsframe.find/local.mk index 52741e8..05c7a10 100644 --- a/libsframe/testsuite/libsframe.find/local.mk +++ b/libsframe/testsuite/libsframe.find/local.mk @@ -4,17 +4,17 @@ if HAVE_COMPAT_DEJAGNU endif %C%_findfre_1_SOURCES = %D%/findfre-1.c -%C%_findfre_1_LDADD = ${top_builddir}/libsframe.la -%C%_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_findfre_1_LDADD = $(testsuite_LDADD) +%C%_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS) %C%_findfunc_1_SOURCES = %D%/findfunc-1.c -%C%_findfunc_1_LDADD = ${top_builddir}/libsframe.la -%C%_findfunc_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_findfunc_1_LDADD = $(testsuite_LDADD) +%C%_findfunc_1_CPPFLAGS = $(testsuite_CPPFLAGS) %C%_plt_findfre_1_SOURCES = %D%/plt-findfre-1.c -%C%_plt_findfre_1_LDADD = ${top_builddir}/libsframe.la -%C%_plt_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_plt_findfre_1_LDADD = $(testsuite_LDADD) +%C%_plt_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS) %C%_plt_findfre_2_SOURCES = %D%/plt-findfre-2.c -%C%_plt_findfre_2_LDADD = ${top_builddir}/libsframe.la -%C%_plt_findfre_2_CPPFLAGS = -I${top_srcdir}/../include -Wall +%C%_plt_findfre_2_LDADD = $(testsuite_LDADD) +%C%_plt_findfre_2_CPPFLAGS = $(testsuite_CPPFLAGS) diff --git a/libsframe/testsuite/libsframe.find/plt-findfre-1.c b/libsframe/testsuite/libsframe.find/plt-findfre-1.c index 91da4bc..b41588a 100644 --- a/libsframe/testsuite/libsframe.find/plt-findfre-1.c +++ b/libsframe/testsuite/libsframe.find/plt-findfre-1.c @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" static int add_plt_fde1 (sframe_encoder_ctx *ectx, uint32_t plt_vaddr, diff --git a/libsframe/testsuite/libsframe.find/plt-findfre-2.c b/libsframe/testsuite/libsframe.find/plt-findfre-2.c index 00a5b2a..61f04f0 100644 --- a/libsframe/testsuite/libsframe.find/plt-findfre-2.c +++ b/libsframe/testsuite/libsframe.find/plt-findfre-2.c @@ -16,17 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> - -#include "sframe-api.h" - -/* DejaGnu should not use gnulib's vsnprintf replacement here. */ -#undef vsnprintf -#include <dejagnu.h> +#include "sframe-test.h" /* s390x-specific size in bytes of plt0 and pltN. */ #define PLT_SIZE 32 diff --git a/libsframe/testsuite/local.mk b/libsframe/testsuite/local.mk index 5e5ba92..4f2ea9b 100644 --- a/libsframe/testsuite/local.mk +++ b/libsframe/testsuite/local.mk @@ -19,6 +19,9 @@ check-DEJAGNU: site.exp else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi +testsuite_LDADD = $(top_builddir)/libsframe.la +testsuite_CPPFLAGS = -I$(srcdir)/testsuite -I$(srcdir)/../include + # libsframe encoder/decoder/find testsuite include %D%/libsframe.decode/local.mk include %D%/libsframe.encode/local.mk diff --git a/libsframe/testsuite/sframe-test.h b/libsframe/testsuite/sframe-test.h new file mode 100644 index 0000000..d5db96b --- /dev/null +++ b/libsframe/testsuite/sframe-test.h @@ -0,0 +1,43 @@ +/* sframe-test.h -- Common libsframe testsuite header. + + Copyright (C) 2022-2025 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef _SFRAME_TEST_H +#define _SFRAME_TEST_H + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> + +#include "sframe-api.h" + +/* DejaGnu should not use gnulib's vsnprintf replacement here. */ +#undef vsnprintf + +/* PR 33168: Solaris <sys/wait.h> with __EXTENSIONS__ defined gets a + declaration of wait(). This conflicts with <dejagnu.h>'s wait + definition that is only removed after DejaGnu 1.6.3. */ + +#define wait dg_wait +/* Add prototype to avoid warning. */ +void wait (void); +#include <dejagnu.h> +#undef wait + +#endif /* _SFRAME_TEST_H */ |