RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Typedefs | Functions
rtl-rap.c File Reference

RTEMS Run-Time Link Editor. More...

#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <rtems/rtl/rtl.h>
#include "rtl-elf.h"
#include "rtl-error.h"
#include "rtl-obj-comp.h"
#include "rtl-rap.h"
#include "rtl-trace.h"
#include "rtl-unresolved.h"
Include dependency graph for rtl-rap.c:

Data Structures

struct  rtems_rtl_rap_sectdef_s
 The section definitions found in a RAP file. More...
 
struct  rtems_rtl_rap_section_s
 The section definitions found in a RAP file. More...
 
struct  rtems_rtl_rap_s
 The RAP loader. More...
 

Macros

#define REL_R_OFFSET   (0)
 The offsets in the unresolved array.
 
#define REL_R_INFO   (1)
 
#define REL_R_ADDEND   (2)
 
#define RTEMS_RTL_RAP_TEXT_SEC   (0)
 The section indexes. More...
 
#define RTEMS_RTL_RAP_CONST_SEC   (1)
 
#define RTEMS_RTL_RAP_CTOR_SEC   (2)
 
#define RTEMS_RTL_RAP_DTOR_SEC   (3)
 
#define RTEMS_RTL_RAP_DATA_SEC   (4)
 
#define RTEMS_RTL_RAP_BSS_SEC   (5)
 
#define RTEMS_RTL_RAP_SECS   (6)
 
#define SYMNAME_BUFFER_SIZE   (1024)
 

Typedefs

typedef struct rtems_rtl_rap_sectdef_s rtems_rtl_rap_sectdef_t
 The section definitions found in a RAP file.
 
typedef struct rtems_rtl_rap_section_s rtems_rtl_rap_section_t
 The section definitions found in a RAP file.
 
typedef struct rtems_rtl_rap_s rtems_rtl_rap_t
 The RAP loader.
 

Functions

bool rtems_rtl_rap_file_check (rtems_rtl_obj_t *obj, int fd)
 The RAP format check handler. More...
 
bool rtems_rtl_rap_file_load (rtems_rtl_obj_t *obj, int fd)
 The RAP format load handler. More...
 
bool rtems_rtl_rap_file_unload (rtems_rtl_obj_t *obj)
 The RAP format unload handler. More...
 
rtems_rtl_loader_format_trtems_rtl_rap_file_sig (void)
 The RAP format signature handler. More...
 

Detailed Description

RTEMS Run-Time Link Editor.

This is the RAP format loader support..

Macro Definition Documentation

◆ RTEMS_RTL_RAP_TEXT_SEC

#define RTEMS_RTL_RAP_TEXT_SEC   (0)

The section indexes.

These are fixed.

Function Documentation

◆ rtems_rtl_rap_file_check()

bool rtems_rtl_rap_file_check ( rtems_rtl_obj_t obj,
int  fd 
)

The RAP format check handler.

Parameters
objThe object being checked.
fdThe file descriptor.

◆ rtems_rtl_rap_file_load()

bool rtems_rtl_rap_file_load ( rtems_rtl_obj_t obj,
int  fd 
)

The RAP format load handler.

Parameters
objThe object to load.
fdThe file descriptor.

obj->entry = (void*)(uintptr_t) ehdr.e_entry;

References rtems_rtl_rap_s::file, rtems_rtl_obj_s::ooffset, rtems_rtl_obj_cache_read(), and rtems_rtl_obj_caches().

◆ rtems_rtl_rap_file_sig()

rtems_rtl_loader_format_t* rtems_rtl_rap_file_sig ( void  )

The RAP format signature handler.

Returns
rtems_rtl_loader_format_t* The format's signature.

◆ rtems_rtl_rap_file_unload()

bool rtems_rtl_rap_file_unload ( rtems_rtl_obj_t obj)

The RAP format unload handler.

Parameters
objThe object to unload.