source: rtems-tools/linkers/rld-elf-types.h @ b2b811c

4.104.115
Last change on this file since b2b811c was 90d8d43, checked in by Chris Johns <chrisj@…>, on 12/07/12 at 22:07:30

Add support to demand load relocation records.

Support has been added to load relocation record on demand. The
relocation records are not read when the object file is first
opened and read. They are read only when being written to the
output file. This save loading lots of records into memory
from libraries to be thrown away.

The RAP format now supports writing out relocation records.

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*
2 * Copyright (c) 2011, Chris Johns <chrisj@rtems.org>
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16/**
17 * @file
18 *
19 * @ingroup rtems-ld
20 *
21 * @brief RTEMS Linker ELF types.
22  *
23 */
24
25#if !defined (_RLD_ELF_TYPES_H_)
26#define _RLD_ELF_TYPES_H_
27
28#define __LIBELF_INTERNAL__ 1
29#include <gelf.h>
30#include <libelf.h>
31
32namespace rld
33{
34  namespace elf
35  {
36    /**
37     * Hide the types from libelf we use.
38     */
39    typedef ::GElf_Half   elf_half;
40    typedef ::GElf_Word   elf_word;
41    typedef ::GElf_Xword  elf_xword;
42    typedef ::GElf_Sxword elf_sxword;
43    typedef ::Elf_Type    elf_type;
44    typedef ::GElf_Addr   elf_addr;
45    typedef ::GElf_Off    elf_off;
46    typedef ::GElf_Sym    elf_sym;
47    typedef ::Elf_Kind    elf_kind;
48    typedef ::Elf_Scn     elf_scn;
49    typedef ::GElf_Ehdr   elf_ehdr;
50    typedef ::GElf_Shdr   elf_shdr;
51    typedef ::GElf_Phdr   elf_phdr;
52    typedef ::Elf_Data    elf_data;
53    typedef ::GElf_Rel    elf_rel;
54    typedef ::GElf_Rela   elf_rela;
55    typedef ::Elf         elf;
56  }
57}
58
59#endif
Note: See TracBrowser for help on using the repository browser.