summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/dl-sysdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/dl-sysdep.c')
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 0144958766..f8997fe025 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -159,12 +159,6 @@ unfmh(); /* XXX */
_dl_hurd_data->phdrsz / sizeof (Elf32_Phdr),
&_dl_hurd_data->user_entry);
- /* Deallocate the reply port and task port rights acquired by
- __mach_init. We are done with them now, and the user will
- reacquire them for himself when he wants them. */
- __mig_dealloc_reply_port (MACH_PORT_NULL);
- __mach_port_deallocate (__mach_task_self (), __mach_task_self_);
-
if (_dl_skip_args && _dl_argv[-_dl_skip_args] == (char *) p)
{
/* We are ignoring the first few arguments, but we have no Hurd
@@ -198,6 +192,16 @@ fmh(); /* XXX */
LOSE;
abort ();
}
+
+void
+_dl_sysdep_start_cleanup (void)
+{
+ /* Deallocate the reply port and task port rights acquired by
+ __mach_init. We are done with them now, and the user will
+ reacquire them for himself when he wants them. */
+ __mig_dealloc_reply_port (MACH_PORT_NULL);
+ __mach_port_deallocate (__mach_task_self (), __mach_task_self_);
+}
int
_dl_sysdep_open_zero_fill (void)
@@ -567,13 +571,14 @@ malloc (size_t n)
ptr += n;
return block;
}
-
weak_symbol (malloc)
-/* These should never be called. */
+/* This should never be called. */
void *realloc (void *ptr, size_t n) { ptr += n; abort (); }
-void free (void *ptr) { ptr = ptr; abort (); }
weak_symbol (realloc)
+
+/* This will rarely be called. */
+void free (void *ptr) { ptr = ptr; }
weak_symbol (free)
/* Avoid signal frobnication in setjmp/longjmp. */