1e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project/* this is part of the test_relocs.c test, which is used to check that 2e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project * the relocations generated in a shared object are properly handled 3e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project * by the Bionic dynamic linker 4e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project */ 5e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project 6e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectstruct foo { int first, second; }; 7e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectstruct foo Foo = {1, 2}; 8e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project 9e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectint* FooPtr[] = { &Foo.first, &Foo.second }; 10e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project 11e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectint func1( void ) 12e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project{ 13e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project return *FooPtr[0]; 14e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project} 15e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project 16e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectint func2( void ) 17e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project{ 18e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project return *FooPtr[1]; 19e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project} 20