aboutsummaryrefslogtreecommitdiff
path: root/lib/csu/t_crt0.sh
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2014-10-01 04:07:17 +0000
committerEnji Cooper <ngie@FreeBSD.org>2014-10-01 04:07:17 +0000
commit478290db20b28ab28ce7e08cf33f1b44d82e4cb3 (patch)
treeb31430c773d683d336caf956649e9ed3f459369c /lib/csu/t_crt0.sh
downloadsrc-478290db20b28ab28ce7e08cf33f1b44d82e4cb3.tar.gz
src-478290db20b28ab28ce7e08cf33f1b44d82e4cb3.zip
Check in first src/tests snapshot from NetBSD anoncvsvendor/NetBSD/tests/09.30.2014_20.45
Sources were obtained like so: % export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot" % cvs -z9 co -D "09/30/2014 20:45" -P src/tests % mv src/tests/* tests/dist/. '*CVS*' has been added to svn:ignore to ease updating periodically from upstream Some line ending issues had to be resolved with test outputs and scripts via dos2unix and by deleting the eol-style property set in usr.bin/sort Discussed with: rpaulo Sponsored by: EMC / Isilon Storage Division
Notes
Notes: svn path=/vendor/NetBSD/tests/dist/; revision=272343 svn path=/vendor/NetBSD/tests/09.30.2014_20.45/; revision=272345; tag=vendor/NetBSD/tests/09.30.2014_20.45
Diffstat (limited to 'lib/csu/t_crt0.sh')
-rwxr-xr-xlib/csu/t_crt0.sh104
1 files changed, 104 insertions, 0 deletions
diff --git a/lib/csu/t_crt0.sh b/lib/csu/t_crt0.sh
new file mode 100755
index 000000000000..a36a9b70cd29
--- /dev/null
+++ b/lib/csu/t_crt0.sh
@@ -0,0 +1,104 @@
+# $NetBSD: t_crt0.sh,v 1.4 2011/12/11 14:57:07 joerg Exp $
+#
+# Copyright (c) 2008 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+atf_test_case initfini1
+initfini1_head()
+{
+ atf_set "descr" "Checks support for init/fini sections"
+}
+initfini1_body()
+{
+ cat >expout <<EOF
+constructor executed
+main executed
+destructor executed
+EOF
+
+ atf_check -o file:expout "$(atf_get_srcdir)/h_initfini1"
+}
+
+atf_test_case initfini2
+initfini2_head()
+{
+ atf_set "descr" "Checks support for init/fini sections in static binaries"
+}
+initfini2_body()
+{
+ cat >expout <<EOF
+constructor executed
+main executed
+destructor executed
+EOF
+
+ atf_check -o file:expout "$(atf_get_srcdir)/h_initfini2"
+}
+
+atf_test_case initfini3
+initfini3_head()
+{
+ atf_set "descr" "Checks support for init/fini sections in dlopen"
+}
+initfini3_body()
+{
+ cat >expout <<EOF
+constructor executed
+main started
+constructor2 executed
+main after dlopen
+destructor2 executed
+main terminated
+destructor executed
+EOF
+
+ atf_check -o file:expout "$(atf_get_srcdir)/h_initfini3"
+}
+
+atf_test_case initfini4
+initfini4_head()
+{
+ atf_set "descr" "Checks support for init/fini sections in LD_PRELOAD"
+}
+initfini4_body()
+{
+ cat >expout <<EOF
+constructor2 executed
+constructor executed
+main executed
+destructor executed
+destructor2 executed
+EOF
+
+ atf_check -o file:expout -x "env LD_PRELOAD=$(atf_get_srcdir)/h_initfini3_dso.so $(atf_get_srcdir)/h_initfini1"
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case initfini1
+ atf_add_test_case initfini2
+ atf_add_test_case initfini3
+ atf_add_test_case initfini4
+}