source: rtems/testsuites/libtests/dl09/dl-o2.c @ d8c70ba6

5
Last change on this file since d8c70ba6 was d8c70ba6, checked in by Chris Johns <chrisj@…>, on 01/15/19 at 06:47:41

libdl: Add support for trampolines

  • Trampolines or fixups for veneers provide long jump support for instruciton sets that implement short relative address branches. The linker provides trampolines when creating a static image. This patch adds trampoline support to libdl and the ARM architecture.
  • The dl09 test requires enough memory so modules are outside the relative branch instruction ranges for the architecture.

Updates #3685

  • Property mode set to 100644
File size: 1.1 KB
Line 
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-o2.h"
11#include "dl-o3.h"
12
13#include <rtems/test.h>
14
15#define printf(...) rtems_printf(&rtems_test_printer, __VA_ARGS__);
16
17int   dl02_bss1;
18float dl02_bss2[7];
19char  dl02_bss3[21];
20int   dl02_data1;
21float dl02_data2;
22
23#define DL_NAME       "dlo2"
24#define PAINT_VAR(_v) sizeof(_v), &_v, _v
25
26int rtems_main_o2 (void)
27{
28  printf (DL_NAME ": module: %s\n", dl_localise_file (__FILE__));
29  printf (DL_NAME ":         dl02_bss1: %4u: %p: %d\n",   PAINT_VAR (dl02_bss1));
30  printf (DL_NAME ":         dl02_bss2: %4u: %p: %f\n",   PAINT_VAR (dl02_bss2[0]));
31  printf (DL_NAME ":         dl02_bss3: %4u: %p: %02x\n", PAINT_VAR (dl02_bss3[0]));
32  printf (DL_NAME ":        dl02_data1: %4u: %p: %d\n",   PAINT_VAR (dl02_data1));
33  /* no %f in the rtems test printer */
34  printf (DL_NAME ":        dl02_data2: %4u: %p: %f\n",   PAINT_VAR (dl02_data2));
35
36  rtems_main_o3 ();
37
38  return 0;
39}
Note: See TracBrowser for help on using the repository browser.