Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: third_party/android_crazy_linker/src/tests/bar_with_relro.cpp

Issue 322433006: Fork of the Android NDK crazy linker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add a required license header to a cpp module, missing in the original. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 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 #include <android/log.h>
6 #include <stdio.h>
7 #include <stdlib.h>
8
9 // A variant of bar.cpp that also includes a large RELRO section.
10 // Used to test RELRO sharing with two different libraries at the
11 // same time.
12
13 // This is a large table that contains pointers to ensure that it
14 // gets put inside the RELRO section.
15 #define LINE "another example string",
16 #define LINE8 LINE LINE LINE LINE LINE LINE LINE LINE
17 #define LINE64 LINE8 LINE8 LINE8 LINE8 LINE8 LINE8 LINE8 LINE8
18 #define LINE512 LINE64 LINE64 LINE64 LINE64 LINE64 LINE64 LINE64 LINE64
19 #define LINE4096 LINE512 LINE512 LINE512 LINE512 LINE512 LINE512 LINE512 LINE512
20
21 const char* const kStrings[] = {LINE4096 LINE4096 LINE4096 LINE4096};
22
23 extern "C" void Foo();
24
25 extern "C" void Bar() {
26 printf("%s: Entering\n", __FUNCTION__);
27 __android_log_print(ANDROID_LOG_INFO, "bar", "Hi There!");
28 fprintf(stderr, "Hi There! from Bar\n");
29
30 for (size_t n = 0; n < sizeof(kStrings) / sizeof(kStrings[0]); ++n) {
31 const char* ptr = kStrings[n];
32 if (strcmp(ptr, "another example string")) {
33 printf("%s: Bad string at offset=%d\n", __FUNCTION__, n);
34 exit(1);
35 }
36 }
37
38 printf("%s: Calling Foo()\n", __FUNCTION__);
39 Foo();
40
41 printf("%s: Exiting\n", __FUNCTION__);
42 }
OLDNEW
« no previous file with comments | « third_party/android_crazy_linker/src/tests/bar.cpp ('k') | third_party/android_crazy_linker/src/tests/bench_load_library.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698