summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/rtld.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2007-04-03 18:31:20 +0000
committerkan <kan@FreeBSD.org>2007-04-03 18:31:20 +0000
commit0dd97e2c183c4064e9883accc0097616edb73c80 (patch)
tree2f24e02761b238e127c61dd19755bf947aa24006 /libexec/rtld-elf/rtld.h
parent34c2527aa4837fb3920e7a6fa68ac03a68012223 (diff)
downloadFreeBSD-src-0dd97e2c183c4064e9883accc0097616edb73c80.zip
FreeBSD-src-0dd97e2c183c4064e9883accc0097616edb73c80.tar.gz
Implement dl_iterate_phdr function.
Convert boolean flags in internal Obj_Entry structure into bitfields. Properly check for loaded segment alignment in map_object.
Diffstat (limited to 'libexec/rtld-elf/rtld.h')
-rw-r--r--libexec/rtld-elf/rtld.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h
index cc430e8..c7be5235 100644
--- a/libexec/rtld-elf/rtld.h
+++ b/libexec/rtld-elf/rtld.h
@@ -201,15 +201,16 @@ typedef struct Struct_Obj_Entry {
Elf_Addr init; /* Initialization function to call */
Elf_Addr fini; /* Termination function to call */
- bool mainprog; /* True if this is the main program */
- bool rtld; /* True if this is the dynamic linker */
- bool textrel; /* True if there are relocations to text seg */
- bool symbolic; /* True if generated with "-Bsymbolic" */
- bool bind_now; /* True if all relocations should be made first */
- bool traced; /* Already printed in ldd trace output */
- bool jmpslots_done; /* Already have relocated the jump slots */
- bool init_done; /* Already have added object to init list */
- bool tls_done; /* Already allocated offset for static TLS */
+ bool mainprog : 1; /* True if this is the main program */
+ bool rtld : 1; /* True if this is the dynamic linker */
+ bool textrel : 1; /* True if there are relocations to text seg */
+ bool symbolic : 1; /* True if generated with "-Bsymbolic" */
+ bool bind_now : 1; /* True if all relocations should be made first */
+ bool traced : 1; /* Already printed in ldd trace output */
+ bool jmpslots_done : 1; /* Already have relocated the jump slots */
+ bool init_done : 1; /* Already have added object to init list */
+ bool tls_done : 1; /* Already allocated offset for static TLS */
+ bool phdr_alloc : 1; /* Phdr is allocated and needs to be freed. */
struct link_map linkmap; /* for GDB and dlinfo() */
Objlist dldags; /* Object belongs to these dlopened DAGs (%) */
OpenPOWER on IntegriCloud