source: rtems-tools/linkers/rld-rap.h @ ae353d3

4.104.115
Last change on this file since ae353d3 was ae353d3, checked in by Chris Johns <chrisj@…>, on 11/26/12 at 00:50:21

Comment clean up.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 * Copyright (c) 2012, 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 RTEMS Application (RAP) Format management.
22 *
23 */
24
25#if !defined (_RLD_RAP_H_)
26#define _RLD_RAP_H_
27
28#include <rld-files.h>
29
30namespace rld
31{
32  namespace rap
33  {
34    /**
35     * Write a RAP format file.
36     *
37     * The symbol table is provided to allow incremental linking at some point
38     * in the future. I suspect this will also require extra options being
39     * added to control symbol visibility in the RAP file. For example an
40     * "application" may be self contained and does not need to export any
41     * symbols therefore no symbols are added and the only ones are part of the
42     * relocation records to bind to base image symbols. Another case is the
43     * need for an application to export symbols because it is using dlopen to
44     * load modules. Here the symbols maybe 'all' or it could be a user
45     * maintained list that are exported.
46     *
47     * @param app The application image to write too.
48     * @param metadata The application metadata.
49     * @param objects The list of object files in the application.
50     * @param symbols The symbol table used to create the application.
51     */
52    void write (files::image&             app,
53                const std::string&        metadata,
54                const files::object_list& objects,
55                const symbols::table&     symbols);
56  }
57}
58
59#endif
Note: See TracBrowser for help on using the repository browser.