elf_file_unittest_relocs.cc revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Test data for packing/unpacking. When compiled, creates a run of 6// relative relocations. 7// 8// #!/bin/bash 9// 10// # Compile as an arm shared library. 11// /usr/bin/arm-linux-gnueabi-g++ -shared -o /tmp/testdata.so \ 12// elf_file_unittest_relocs.cc 13// 14// # Add a new null .android.rel.dyn section, needed for packing. 15// echo 'NULL' >/tmp/small 16// /usr/bin/arm-linux-gnueabi-objcopy \ 17// --add-section .android.rel.dyn=/tmp/small /tmp/testdata.so 18// 19// # Create packed and unpacked reference files. 20// packer="../../../out_android/Debug/relocation_packer" 21// cp /tmp/testdata.so elf_file_unittest_relocs_packed.so 22// $packer elf_file_unittest_relocs_packed.so 23// cp elf_file_unittest_relocs_packed.so elf_file_unittest_relocs.so 24// $packer -u elf_file_unittest_relocs.so 25// 26// # Clean up. 27// rm /tmp/testdata.so /tmp/small 28 29const int i = 0; 30 31const void* pointer_0 = &i; 32const void* pointer_1 = &i; 33const void* pointer_2 = &i; 34const void* pointer_3 = &i; 35const void* pointer_4 = &i; 36const void* pointer_5 = &i; 37const void* pointer_6 = &i; 38const void* pointer_7 = &i; 39const void* pointer_8 = &i; 40const void* pointer_9 = &i; 41const void* pointer_10 = &i; 42const void* pointer_11 = &i; 43const void* pointer_12 = &i; 44const void* pointer_13 = &i; 45const void* pointer_14 = &i; 46const void* pointer_15 = &i; 47const void* pointer_16 = &i; 48const void* pointer_17 = &i; 49const void* pointer_18 = &i; 50const void* pointer_19 = &i; 51const void* pointer_20 = &i; 52const void* pointer_21 = &i; 53const void* pointer_22 = &i; 54const void* pointer_23 = &i; 55const void* pointer_24 = &i; 56const void* pointer_25 = &i; 57const void* pointer_26 = &i; 58const void* pointer_27 = &i; 59const void* pointer_28 = &i; 60const void* pointer_29 = &i; 61const void* pointer_30 = &i; 62const void* pointer_31 = &i; 63const void* pointer_32 = &i; 64