RTEMS Linker
0.0.1
RTEMS Tools Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
/Users/chris/Development/rtems/src/apps/rtl-host.chrisj/rld-outputter.h
Go to the documentation of this file.
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 outputter handles the various output formats.
22
*
23
*/
24
25
#if !defined (_RLD_OUTPUTTER_H_)
26
#define _RLD_OUTPUTTER_H_
27
28
#include <
rld-files.h
>
29
30
namespace
rld
31
{
32
namespace
outputter
33
{
34
/**
35
* Output the object file list as a string.
36
*
37
* @param entry The name of the entry point symbol.
38
* @param exit The name of the exit point symbol.
39
* @param dependents The list of dependent object files
40
* @param cache The file cache for the link. Includes the object list
41
* the user requested.
42
* @return std::string The list as a text string.
43
*/
44
std::string
script_text
(
const
std::string& entry,
45
const
std::string& exit,
46
const
files::object_list
& dependents,
47
const
files::cache& cache);
48
/**
49
* Output the object files as an archive format file with the metadata as
50
* the first ELF file.
51
*
52
* @param name The name of the archive.
53
* @param entry The name of the entry point symbol.
54
* @param exit The name of the exit point symbol.
55
* @param dependents The list of dependent object files
56
* @param cache The file cache for the link. Includes the object list
57
* the user requested.
58
*/
59
void
archive
(
const
std::string& name,
60
const
std::string& entry,
61
const
std::string& exit,
62
const
files::object_list
& dependents,
63
const
files::cache& cache);
64
65
/**
66
* Output the object file list as a script.
67
*
68
* @param name The name of the script.
69
* @param entry The name of the entry point symbol.
70
* @param exit The name of the exit point symbol.
71
* @param dependents The list of dependent object files
72
* @param cache The file cache for the link. Includes the object list
73
* the user requested.
74
*/
75
void
script
(
const
std::string& name,
76
const
std::string& entry,
77
const
std::string& exit,
78
const
files::object_list
& dependents,
79
const
files::cache& cache);
80
81
/**
82
* Output the object files in an archive with the metadata.
83
*
84
* @param name The name of the script.
85
* @param entry The name of the entry point symbol.
86
* @param exit The name of the exit point symbol.
87
* @param dependents The list of dependent object files
88
* @param cache The file cache for the link. Includes the object list
89
* the user requested.
90
*/
91
void
elf_application
(
const
std::string& name,
92
const
std::string& entry,
93
const
std::string& exit,
94
const
files::object_list
& dependents,
95
const
files::cache& cache);
96
97
/**
98
* Output the object files in an archive with the metadata.
99
*
100
* @param name The name of the script.
101
* @param entry The name of the entry point symbol.
102
* @param exit The name of the exit point symbol.
103
* @param dependents The list of dependent object files
104
* @param cache The file cache for the link. Includes the object list
105
* the user requested.
106
* @param symbols The symbol table used to resolve the application.
107
*/
108
void
application
(
const
std::string& name,
109
const
std::string& entry,
110
const
std::string& exit,
111
const
files::object_list
& dependents,
112
const
files::cache& cache,
113
const
symbols::table& symbols);
114
115
}
116
}
117
118
#endif
rld-outputter.h
Generated on Wed Jan 23 2013 14:02:37 for RTEMS Linker by
1.8.3.1