Rev 3492 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3492 | Rev 3742 | ||
|---|---|---|---|
| Line 45... | Line 45... | ||
| 45 | * Holds pointers to data passed from the program loader to the program |
45 | * Holds pointers to data passed from the program loader to the program |
| 46 | * and/or to the dynamic linker. This includes the program entry point, |
46 | * and/or to the dynamic linker. This includes the program entry point, |
| 47 | * arguments, environment variables etc. |
47 | * arguments, environment variables etc. |
| 48 | */ |
48 | */ |
| 49 | typedef struct { |
49 | typedef struct { |
| 50 | /** Program entry point */ |
50 | /** Program entry point. */ |
| 51 | entry_point_t entry; |
51 | entry_point_t entry; |
| 52 | 52 | ||
| 53 | /** Number of command-line arguments */ |
53 | /** Number of command-line arguments. */ |
| 54 | int argc; |
54 | int argc; |
| 55 | /** Command-line arguments */ |
55 | /** Command-line arguments. */ |
| 56 | char **argv; |
56 | char **argv; |
| 57 | 57 | ||
| 58 | /* |
58 | /* |
| 59 | * ELF-specific data |
59 | * ELF-specific data. |
| 60 | */ |
60 | */ |
| 61 | /** Pointer to ELF dynamic section of the program */ |
61 | /** Pointer to ELF dynamic section of the program. */ |
| 62 | void *dynamic; |
62 | void *dynamic; |
| 63 | /** Pointer to dynamic section of the runtime linker */ |
- | |
| 64 | void *rtld_dynamic; |
- | |
| 65 | /** Runtime-linker load bias */ |
- | |
| 66 | uintptr_t rtld_bias; |
- | |
| 67 | } pcb_t; |
63 | } pcb_t; |
| 68 | 64 | ||
| - | 65 | /** |
|
| - | 66 | * A pointer to the program control block. Having received the PCB pointer, |
|
| - | 67 | * the C library startup code stores it here for later use. |
|
| - | 68 | */ |
|
| 69 | extern pcb_t *__pcb; |
69 | extern pcb_t *__pcb; |
| 70 | 70 | ||
| 71 | #endif |
71 | #endif |
| 72 | 72 | ||
| 73 | /** |
73 | /** |