summaryrefslogtreecommitdiffstats
path: root/tests/run-aggregate-size.sh
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2014-10-02 14:00:47 +0200
committerMark Wielaard <[email protected]>2014-10-02 22:58:12 +0200
commitb50014f56418d9be8eb3d5a86c693a4fda83dc09 (patch)
tree45107352d6e78645eaaf82b8c6fc3fba1abcb313 /tests/run-aggregate-size.sh
parent6d48bbf406851b56920582b8ce29db13ad4f4e2e (diff)
libdw: dwarf_aggregate_size return CU address_size for sizeless pointer/refs.
Tested-by: Conrad Meyer <[email protected]> Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'tests/run-aggregate-size.sh')
-rwxr-xr-xtests/run-aggregate-size.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/run-aggregate-size.sh b/tests/run-aggregate-size.sh
new file mode 100755
index 00000000..7d812a5f
--- /dev/null
+++ b/tests/run-aggregate-size.sh
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2014 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file 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.
+#
+# elfutils 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/>.
+
+. $srcdir/test-subr.sh
+
+# char c;
+# int i;
+# long l;
+#
+# void *v;
+#
+# struct s
+# {
+# char *a;
+# int i;
+# } s;
+#
+# char ca[16];
+# int ia[32];
+# void *va[64];
+# struct s sa[8];
+
+# On x86_64 (LP64):
+# gcc -g -c -o testfile-sizes1.o sizes.c
+# clang -g -c -o testfile-sizes2.o sizes.c
+
+testfiles testfile-sizes1.o testfile-sizes2.o
+
+testrun_compare ${abs_builddir}/aggregate_size -e testfile-sizes1.o <<\EOF
+c size 1
+i size 4
+l size 8
+v size 8
+s size 16
+ca size 16
+ia size 128
+va size 512
+sa size 128
+EOF
+
+testrun_compare ${abs_builddir}/aggregate_size -e testfile-sizes2.o <<\EOF
+c size 1
+i size 4
+l size 8
+v size 8
+s size 16
+ca size 16
+ia size 128
+va size 512
+sa size 128
+EOF
+
+exit 0