source: rtems/cpukit/score/cpu/v850/include/machine/elf_machdep.h @ 2afb22b

5
Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#define ELF32_MACHDEP_ENDIANNESS                ELFDATA2LSB
2
3#define ELF32_MACHDEP_ID_CASES \
4        case EM_V850: \
5                break;
6
7#define ELF32_MACHDEP_ID        EM_V850
8
9
10
11#define EF_V850_ARCH            0xf0000000
12#define E_V850_ARCH             0x00000000
13#define E_V850E_ARCH            0x10000000
14#define E_V850E1_ARCH           0x20000000
15#define E_V850E2_ARCH           0x30000000
16#define E_V850E2V3_ARCH         0x40000000
17
18#define ARCH_ELFSIZE    32
19
20
21#define         R_V850_NONE                                                             0
22#define         R_V850_9_PCREL                                          1
23#define         R_V850_22_PCREL                                         2
24#define         R_V850_HI16_S                                                   3
25#define         R_V850_HI16                                                             4
26#define         R_V850_LO16                                                             5
27#define         R_V850_ABS32                                                    6
28#define         R_V850_16                                                                       7
29#define         R_V850_8                                                                        8
30#define         R_V850_SDA_16_16_OFFSET         9
31#define         R_V850_SDA_15_16_OFFSET         10
32#define         R_V850_ZDA_16_16_OFFSET         11
33#define         R_V850_ZDA_15_16_OFFSET         12
34#define         R_V850_TDA_6_8_OFFSET                   13
35#define         R_V850_TDA_7_8_OFFSET                   14
36#define         R_V850_TDA_7_7_OFFSET                   15
37#define         R_V850_TDA_16_16_OFFSET         16
38#define         R_V850_TDA_4_5_OFFSET                   17
39#define         R_V850_TDA_4_4_OFFSET                   18
40#define         R_V850_SDA_16_16_SPLIT_OFFSET           19
41#define         R_V850_ZDA_16_16_SPLIT_OFFSET           20
42#define         R_V850_CALLT_6_7_OFFSET                 21
43#define         R_V850_CALLT_16_16_OFFSET               22
44#define         R_V850_GNU_VTINHERIT                            23
45#define         R_V850_GNU_VTENTRY                                      24
46#define         R_V850_LONGCALL                                                 25
47#define         R_V850_LONGJUMP                                                 26
48#define         R_V850_ALIGN                                                            27
49#define         R_V850_REL32                                                            28
50#define         R_V850_LO16_SPLIT_OFFSET                29
51#define         R_V850_16_PCREL                                                 30
52#define         R_V850_17_PCREL                                                 31
53#define         R_V850_23                                                                               32
54#define         R_V850_32_PCREL                                                 33
55#define         R_V850_32_ABS                                                           34
56#define         R_V850_16_SPLIT_OFFSET                  35
57#define         R_V850_16_S1                                                            36
58#define         R_V850_LO16_S1                                                  37
59#define         R_V850_CALLT_15_16_OFFSET               38
60#define         R_V850_32_GOTPCREL                                      39
61#define         R_V850_16_GOT                                                           40
62#define         R_V850_32_GOT                                                           41
63#define         R_V850_22_PLT                                                           42
64#define         R_V850_32_PLT                                                           43
65#define         R_V850_COPY                                                                     44
66#define         R_V850_GLOB_DAT                                                 45
67#define         R_V850_JMP_SLOT                                                 46
68#define         R_V850_RELATIVE                                                 47
69#define         R_V850_16_GOTOFF                                                48
70#define         R_V850_32_GOTOFF                                                49
71#define         R_V850_CODE                                                                     50
72#define         R_V850_DATA                                                                     51
73
74#define R_TYPE(name)            __CONCAT(R_V850_,name)
Note: See TracBrowser for help on using the repository browser.