Deleted Added
full compact
rtld.h (233307) rtld.h (233361)
1/*-
2 * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 8 unchanged lines hidden (view full) ---

17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
1/*-
2 * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 8 unchanged lines hidden (view full) ---

17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 * $FreeBSD: head/libexec/rtld-elf/rtld.h 233307 2012-03-22 14:20:51Z kib $
25 * $FreeBSD: head/libexec/rtld-elf/rtld.h 233361 2012-03-23 12:13:31Z kib $
26 */
27
28#ifndef RTLD_H /* { */
29#define RTLD_H 1
30
31#include <machine/elf.h>
32#include <sys/types.h>
33#include <sys/queue.h>

--- 277 unchanged lines hidden (view full) ---

311 unsigned long hash;
312 const Ver_Entry *ventry;
313 int flags;
314 const Obj_Entry *defobj_out;
315 const Elf_Sym *sym_out;
316 struct Struct_RtldLockState *lockstate;
317} SymLook;
318
26 */
27
28#ifndef RTLD_H /* { */
29#define RTLD_H 1
30
31#include <machine/elf.h>
32#include <sys/types.h>
33#include <sys/queue.h>

--- 277 unchanged lines hidden (view full) ---

311 unsigned long hash;
312 const Ver_Entry *ventry;
313 int flags;
314 const Obj_Entry *defobj_out;
315 const Elf_Sym *sym_out;
316 struct Struct_RtldLockState *lockstate;
317} SymLook;
318
319extern void _rtld_error(const char *, ...) __printflike(1, 2);
320extern const char *rtld_strerror(int);
321extern Obj_Entry *map_object(int, const char *, const struct stat *);
322extern void *xcalloc(size_t, size_t);
323extern void *xmalloc(size_t);
324extern char *xstrdup(const char *);
319void _rtld_error(const char *, ...) __printflike(1, 2);
320const char *rtld_strerror(int);
321Obj_Entry *map_object(int, const char *, const struct stat *);
322void *xcalloc(size_t, size_t);
323void *xmalloc(size_t);
324char *xstrdup(const char *);
325extern Elf_Addr _GLOBAL_OFFSET_TABLE_[];
326extern Elf_Sym sym_zero; /* For resolving undefined weak refs. */
327
325extern Elf_Addr _GLOBAL_OFFSET_TABLE_[];
326extern Elf_Sym sym_zero; /* For resolving undefined weak refs. */
327
328extern void dump_relocations (Obj_Entry *);
329extern void dump_obj_relocations (Obj_Entry *);
330extern void dump_Elf_Rel (Obj_Entry *, const Elf_Rel *, u_long);
331extern void dump_Elf_Rela (Obj_Entry *, const Elf_Rela *, u_long);
328void dump_relocations(Obj_Entry *);
329void dump_obj_relocations(Obj_Entry *);
330void dump_Elf_Rel(Obj_Entry *, const Elf_Rel *, u_long);
331void dump_Elf_Rela(Obj_Entry *, const Elf_Rela *, u_long);
332
333/*
334 * Function declarations.
335 */
336unsigned long elf_hash(const char *);
337const Elf_Sym *find_symdef(unsigned long, const Obj_Entry *,
338 const Obj_Entry **, int, SymCache *, struct Struct_RtldLockState *);
339void init_pltgot(Obj_Entry *);

--- 29 unchanged lines hidden ---
332
333/*
334 * Function declarations.
335 */
336unsigned long elf_hash(const char *);
337const Elf_Sym *find_symdef(unsigned long, const Obj_Entry *,
338 const Obj_Entry **, int, SymCache *, struct Struct_RtldLockState *);
339void init_pltgot(Obj_Entry *);

--- 29 unchanged lines hidden ---