View | Details | Raw Unified | Return to bug 233333 | Differences between
and this patch

Collapse All | Expand All

(-)b/libexec/rtld-elf/rtld.c (-2 / +5 lines)
Lines 142-147 static int relocate_object(Obj_Entry *obj, bool bind_now, Obj_Entry *rtldobj, Link Here
142
    int flags, RtldLockState *lockstate);
142
    int flags, RtldLockState *lockstate);
143
static int relocate_objects(Obj_Entry *, bool, Obj_Entry *, int,
143
static int relocate_objects(Obj_Entry *, bool, Obj_Entry *, int,
144
    RtldLockState *);
144
    RtldLockState *);
145
static int resolve_object_ifunc(Obj_Entry *, bool, int, RtldLockState *);
145
static int resolve_objects_ifunc(Obj_Entry *first, bool bind_now,
146
static int resolve_objects_ifunc(Obj_Entry *first, bool bind_now,
146
    int flags, RtldLockState *lockstate);
147
    int flags, RtldLockState *lockstate);
147
static int rtld_dirname(const char *, char *);
148
static int rtld_dirname(const char *, char *);
Lines 2885-2893 relocate_object(Obj_Entry *obj, bool bind_now, Obj_Entry *rtldobj, Link Here
2885
	if (reloc_plt(obj) == -1)
2886
	if (reloc_plt(obj) == -1)
2886
		return (-1);
2887
		return (-1);
2887
	/* Relocate the jump slots if we are doing immediate binding. */
2888
	/* Relocate the jump slots if we are doing immediate binding. */
2888
	if (obj->bind_now || bind_now)
2889
	if (obj->bind_now || bind_now) {
2889
		if (reloc_jmpslots(obj, flags, lockstate) == -1)
2890
		if (reloc_jmpslots(obj, flags, lockstate) == -1 ||
2891
		    resolve_object_ifunc(obj, true, flags, lockstate) == -1)
2890
			return (-1);
2892
			return (-1);
2893
	}
2891
2894
2892
	/*
2895
	/*
2893
	 * Process the non-PLT IFUNC relocations.  The relocations are
2896
	 * Process the non-PLT IFUNC relocations.  The relocations are

Return to bug 233333