1 | /* |
---|
2 | * Copyright (c) 2014 Chris Johns <chrisj@rtems.org>. All rights reserved. |
---|
3 | * |
---|
4 | * The license and distribution terms for this file may be |
---|
5 | * found in the file LICENSE in this distribution or at |
---|
6 | * http://www.rtems.org/license/LICENSE. |
---|
7 | */ |
---|
8 | |
---|
9 | #include "dl-load.h" |
---|
10 | #include "dl-o1.h" |
---|
11 | #include "dl-o2.h" |
---|
12 | |
---|
13 | #include <rtems/test.h> |
---|
14 | |
---|
15 | #define printf(...) rtems_printf(&rtems_test_printer, __VA_ARGS__); |
---|
16 | |
---|
17 | int dl02_bss1; |
---|
18 | float dl02_bss2[7]; |
---|
19 | char dl02_bss3[21]; |
---|
20 | int dl02_data1; |
---|
21 | float dl02_data2; |
---|
22 | |
---|
23 | /* |
---|
24 | * Yes a decl in the source. This is a modules main and I could not find which |
---|
25 | * header main is defined in. |
---|
26 | */ |
---|
27 | int rtems_main_o2 (int argc, const char* argv[]); |
---|
28 | |
---|
29 | #define DL_NAME "dlo2" |
---|
30 | #define PAINT_VAR(_v) sizeof(_v), &_v, _v |
---|
31 | |
---|
32 | int rtems_main_o2 (int argc, const char* argv[]) |
---|
33 | { |
---|
34 | printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__)); |
---|
35 | printf (DL_NAME ": dl01_bss1: %4zu: %p: %d\n", PAINT_VAR (dl01_bss1)); |
---|
36 | printf (DL_NAME ": dl01_bss2: %4zu: %p: %f\n", PAINT_VAR (dl01_bss2[0])); |
---|
37 | printf (DL_NAME ": dl01_bss3: %4zu: %p: %02x\n", PAINT_VAR (dl01_bss3[0])); |
---|
38 | printf (DL_NAME ": dl01_data1: %4zu: %p: %d\n", PAINT_VAR (dl01_data1)); |
---|
39 | /* no %f in the rtems test printer */ |
---|
40 | printf (DL_NAME ": dl01_data2: %4zu: %p: %f\n", PAINT_VAR (dl01_data2)); |
---|
41 | printf (DL_NAME ": dl01_const1: %4zu: %p: %d\n", PAINT_VAR (dl01_const1)); |
---|
42 | printf (DL_NAME ": dl01_const2: %4zu: %p: %f\n", PAINT_VAR (dl01_const2)); |
---|
43 | printf (DL_NAME ": dl01_func1: %4zu: %p\n", sizeof(dl01_func1), &dl01_func1); |
---|
44 | printf (DL_NAME ": dl02_bss1: %4zu: %p: %d\n", PAINT_VAR (dl02_bss1)); |
---|
45 | printf (DL_NAME ": dl02_bss2: %4zu: %p: %f\n", PAINT_VAR (dl02_bss2[0])); |
---|
46 | printf (DL_NAME ": dl02_bss3: %4zu: %p: %02x\n", PAINT_VAR (dl02_bss3[0])); |
---|
47 | printf (DL_NAME ": dl02_data1: %4zu: %p: %d\n", PAINT_VAR (dl02_data1)); |
---|
48 | /* no %f in the rtems test printer */ |
---|
49 | printf (DL_NAME ": dl02_data2: %4zu: %p: %f\n", PAINT_VAR (dl02_data2)); |
---|
50 | return 0; |
---|
51 | } |
---|