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