| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: t_crt0.sh,v 1.3 2010/11/07 17:51:20 jmmv Exp $ | | 1 | # $NetBSD: t_crt0.sh,v 1.4 2011/12/11 14:57:07 joerg Exp $ |
2 | # | | 2 | # |
3 | # Copyright (c) 2008 The NetBSD Foundation, Inc. | | 3 | # Copyright (c) 2008 The NetBSD Foundation, Inc. |
4 | # All rights reserved. | | 4 | # All rights reserved. |
5 | # | | 5 | # |
6 | # Redistribution and use in source and binary forms, with or without | | 6 | # Redistribution and use in source and binary forms, with or without |
7 | # modification, are permitted provided that the following conditions | | 7 | # modification, are permitted provided that the following conditions |
8 | # are met: | | 8 | # are met: |
9 | # 1. Redistributions of source code must retain the above copyright | | 9 | # 1. Redistributions of source code must retain the above copyright |
10 | # notice, this list of conditions and the following disclaimer. | | 10 | # notice, this list of conditions and the following disclaimer. |
11 | # 2. Redistributions in binary form must reproduce the above copyright | | 11 | # 2. Redistributions in binary form must reproduce the above copyright |
12 | # notice, this list of conditions and the following disclaimer in the | | 12 | # notice, this list of conditions and the following disclaimer in the |
13 | # documentation and/or other materials provided with the distribution. | | 13 | # documentation and/or other materials provided with the distribution. |
14 | # | | 14 | # |
| @@ -67,19 +67,38 @@ initfini3_body() | | | @@ -67,19 +67,38 @@ initfini3_body() |
67 | cat >expout <<EOF | | 67 | cat >expout <<EOF |
68 | constructor executed | | 68 | constructor executed |
69 | main started | | 69 | main started |
70 | constructor2 executed | | 70 | constructor2 executed |
71 | main after dlopen | | 71 | main after dlopen |
72 | destructor2 executed | | 72 | destructor2 executed |
73 | main terminated | | 73 | main terminated |
74 | destructor executed | | 74 | destructor executed |
75 | EOF | | 75 | EOF |
76 | | | 76 | |
77 | atf_check -o file:expout "$(atf_get_srcdir)/h_initfini3" | | 77 | atf_check -o file:expout "$(atf_get_srcdir)/h_initfini3" |
78 | } | | 78 | } |
79 | | | 79 | |
| | | 80 | atf_test_case initfini4 |
| | | 81 | initfini4_head() |
| | | 82 | { |
| | | 83 | atf_set "descr" "Checks support for init/fini sections in LD_PRELOAD" |
| | | 84 | } |
| | | 85 | initfini4_body() |
| | | 86 | { |
| | | 87 | cat >expout <<EOF |
| | | 88 | constructor2 executed |
| | | 89 | constructor executed |
| | | 90 | main executed |
| | | 91 | destructor executed |
| | | 92 | destructor2 executed |
| | | 93 | EOF |
| | | 94 | |
| | | 95 | atf_check -o file:expout -x "env LD_PRELOAD=$(atf_get_srcdir)/h_initfini3_dso.so $(atf_get_srcdir)/h_initfini1" |
| | | 96 | } |
| | | 97 | |
80 | atf_init_test_cases() | | 98 | atf_init_test_cases() |
81 | { | | 99 | { |
82 | atf_add_test_case initfini1 | | 100 | atf_add_test_case initfini1 |
83 | atf_add_test_case initfini2 | | 101 | atf_add_test_case initfini2 |
84 | atf_add_test_case initfini3 | | 102 | atf_add_test_case initfini3 |
| | | 103 | atf_add_test_case initfini4 |
85 | } | | 104 | } |