aboutsummaryrefslogtreecommitdiff
path: root/gold/testsuite/copy_test.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-06-18 04:39:41 +0000
committerIan Lance Taylor <ian@airs.com>2008-06-18 04:39:41 +0000
commitf34787f832c7a94cda142b7fa867a9be37e8f2af (patch)
tree627cb059c40eb7c34bd74e077509162c00a87a39 /gold/testsuite/copy_test.cc
parentc42e122ead58317580cb49a2e0db60fd8e308edd (diff)
downloadgdb-f34787f832c7a94cda142b7fa867a9be37e8f2af.zip
gdb-f34787f832c7a94cda142b7fa867a9be37e8f2af.tar.gz
gdb-f34787f832c7a94cda142b7fa867a9be37e8f2af.tar.bz2
* output.h (Output_section::Input_section): Initialize p2align_ to
zero for Output_section_data constructors. (Output_section::Input_section::addralign): If not an input section, return the alignment of the Output_section_data. * testsuite/copy_test.cc: New file. * testsuite/copy_test_1.cc: New file. * testsuite/copy_test_2.cc: New file. * testsuite/Makefile.am (check_PROGRAMS): Add copy_test. (copy_test_SOURCES, copy_test_DEPENDENCIES): New variables. (copy_test_LDFLAGS, copy_test_LDADD): New variables. (copy_test_1_pic.o, copy_test_1.so): New targets. (copy_test_2_pic.o, copy_test_2.so): New targets. * testsuite/Makefile.in: Rebuild.
Diffstat (limited to 'gold/testsuite/copy_test.cc')
-rw-r--r--gold/testsuite/copy_test.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/gold/testsuite/copy_test.cc b/gold/testsuite/copy_test.cc
new file mode 100644
index 0000000..715529d
--- /dev/null
+++ b/gold/testsuite/copy_test.cc
@@ -0,0 +1,43 @@
+// copy_test.cc -- test copy relocs for gold
+
+// Copyright 2008 Free Software Foundation, Inc.
+// Written by Ian Lance Taylor <iant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+#include <cassert>
+#include <stdint.h>
+
+// Misalign the BSS section.
+static char c;
+
+// From copy_test_1.cc.
+extern char b;
+
+// From copy_test_2.cc.
+extern long long l;
+
+int
+main()
+{
+ assert(c == 0);
+ assert(b == 1);
+ assert(l == 2);
+ assert((reinterpret_cast<uintptr_t>(&l) & 0x7) == 0);
+ return 0;
+}