Subversion Repositories HelenOS

Rev

Rev 3171 | Rev 4338 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3171 Rev 3686
Line 48... Line 48...
48
#include <ipc/ipc.h>
48
#include <ipc/ipc.h>
49
#include <async.h>
49
#include <async.h>
50
#include <as.h>
50
#include <as.h>
51
#include <loader/pcb.h>
51
#include <loader/pcb.h>
52
 
52
 
-
 
53
/* From librtld. */
-
 
54
#include <rtld.h>
-
 
55
#include <string.h>
-
 
56
 
53
extern char _heap;
57
extern char _heap;
54
extern int main(int argc, char *argv[]);
58
extern int main(int argc, char *argv[]);
55
 
59
 
56
void _exit(int status)
60
void _exit(int status)
57
{
61
{
Line 72... Line 76...
72
    open_console();
76
    open_console();
73
 
77
 
74
    /* Save the PCB pointer */
78
    /* Save the PCB pointer */
75
    __pcb = (pcb_t *)pcb_ptr;
79
    __pcb = (pcb_t *)pcb_ptr;
76
 
80
 
-
 
81
#ifdef __IN_SHARED_LIBC__
-
 
82
    if (__pcb != NULL && __pcb->rtld_runtime != NULL) {
-
 
83
        runtime_env = (runtime_env_t *) __pcb->rtld_runtime;
-
 
84
    }
-
 
85
#endif
-
 
86
 
77
    if (__pcb == NULL) {
87
    if (__pcb == NULL) {
78
        argc = 0;
88
        argc = 0;
79
        argv = NULL;
89
        argv = NULL;
80
    } else {
90
    } else {
81
        argc = __pcb->argc;
91
        argc = __pcb->argc;