Chromium Code Reviews| Index: tools/relocation_packer/src/relocation_packer_elf_file_unittest_relocs.cc |
| diff --git a/tools/relocation_packer/src/relocation_packer_elf_file_unittest_relocs.cc b/tools/relocation_packer/src/relocation_packer_elf_file_unittest_relocs.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0a87aba9c0985986d2e135aee456e0fe994952e5 |
| --- /dev/null |
| +++ b/tools/relocation_packer/src/relocation_packer_elf_file_unittest_relocs.cc |
| @@ -0,0 +1,36 @@ |
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// Test data for packing/unpacking. When compiled, creates a short vtable |
| +// that is represented as relative relocations in a shared library. |
| +// |
| +// #!/bin/bash |
| +// # Compile as an arm shared library. |
| +// /usr/bin/arm-linux-gnueabi-g++ -shared -o \ |
| +// relocation_packer_elf_file_unittest_relocs.so \ |
| +// relocation_packer_elf_file_unittest_relocs.cc |
| +// |
| +// # Add a new null .android.rel.dyn section, needed for packing. |
| +// echo 'NULL' >/tmp/small |
| +// /usr/bin/arm-linux-gnueabi-objcopy \ |
| +// --add-section .android.rel.dyn=/tmp/small \ |
| +// relocation_packer_elf_file_unittest_relocs.so |
| +// |
| +// # Convert into C/C++ include file style for unit testing convenience. |
| +// /usr/bin/xxd -i relocation_packer_elf_file_unittest_relocs.so \ |
| +// > relocation_packer_elf_file_unittest_relocs.so.h |
| +// |
| +// # Cleanup. |
| +// rm relocation_packer_elf_file_unittest_relocs.so |
| + |
| +struct Foo { |
|
rmcilroy
2014/06/02 15:16:35
How about putting this in a data directory (along
|
| + virtual int f1(); virtual int f2(); |
| +}; |
| +struct Bar : Foo { |
| + int f1() { return 1; }; |
| + int f2() { return 2; }; |
| +}; |
| +void Bas() { |
| + Bar bar; bar.f1(); bar.f2(); |
| +} |