diff options
author | Ian Lance Taylor <iant@google.com> | 2008-03-16 23:51:19 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2008-03-16 23:51:19 +0000 |
commit | d1f003c610e39314803fa3fd4f311230729d3616 (patch) | |
tree | 221e357d029f9eb1bbd14c02ffbdf37cf5d2d8e0 /gold/testsuite | |
parent | da6b876ee6e7599e1fd07514b77f1c4a6ae7dca6 (diff) | |
download | gdb-d1f003c610e39314803fa3fd4f311230729d3616.zip gdb-d1f003c610e39314803fa3fd4f311230729d3616.tar.gz gdb-d1f003c610e39314803fa3fd4f311230729d3616.tar.bz2 |
Fix handling of RELA relative relocs against local symbols in merge
sections.
Diffstat (limited to 'gold/testsuite')
-rw-r--r-- | gold/testsuite/two_file_test.h | 4 | ||||
-rw-r--r-- | gold/testsuite/two_file_test_1.cc | 16 | ||||
-rw-r--r-- | gold/testsuite/two_file_test_2.cc | 7 | ||||
-rw-r--r-- | gold/testsuite/two_file_test_main.cc | 1 |
4 files changed, 28 insertions, 0 deletions
diff --git a/gold/testsuite/two_file_test.h b/gold/testsuite/two_file_test.h index 88aa234..32a247f 100644 --- a/gold/testsuite/two_file_test.h +++ b/gold/testsuite/two_file_test.h @@ -69,3 +69,7 @@ extern const wchar_t* f15(); extern bool t16(); extern bool t16a(); + +extern bool t17(); +extern const char* t17data[]; +#define T17_COUNT 5 diff --git a/gold/testsuite/two_file_test_1.cc b/gold/testsuite/two_file_test_1.cc index 2c3b9c9..7646838 100644 --- a/gold/testsuite/two_file_test_1.cc +++ b/gold/testsuite/two_file_test_1.cc @@ -47,6 +47,7 @@ // 14 Compare string constants in file 1 and file 2. // 15 Compare wide string constants in file 1 and file 2. // 16 Call a function directly after its address has been taken. +// 17 File 1 checks array of string constants defined in file 2. #include "two_file_test.h" @@ -203,3 +204,18 @@ t16() { return f10() == 135; } + +// 17 File 1 checks array of string constants defined in file 2. + +bool +t17() +{ + char c = 'a'; + for (int i = 0; i < T17_COUNT; ++i) + { + if (t17data[i][0] != c || t17data[i][1] != '\0') + return false; + ++c; + } + return true; +} diff --git a/gold/testsuite/two_file_test_2.cc b/gold/testsuite/two_file_test_2.cc index b922856..3888bef 100644 --- a/gold/testsuite/two_file_test_2.cc +++ b/gold/testsuite/two_file_test_2.cc @@ -114,3 +114,10 @@ f15() { return TEST_WIDE_STRING_CONSTANT; } + +// 17 File 1 checks array of string constants defined in file 2. + +const char* t17data[T17_COUNT] = +{ + "a", "b", "c", "d", "e" +}; diff --git a/gold/testsuite/two_file_test_main.cc b/gold/testsuite/two_file_test_main.cc index 5f2ff56..c69d6e0 100644 --- a/gold/testsuite/two_file_test_main.cc +++ b/gold/testsuite/two_file_test_main.cc @@ -51,5 +51,6 @@ main() assert(t13()); assert(t16()); assert(t16a()); + assert(t17()); return 0; } |