aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--misc/progname.c7
-rw-r--r--sysdeps/mach/hurd/setitimer.c2
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 88babc2b39..3868aeb5e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Tue Apr 4 00:48:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * misc/progname.c (program_invocation_name,
+ program_invocation_short_name): Make these initialized data
+ definitions.
+
+ * sysdeps/mach/hurd/setitimer.c (fork_itimer): Add self reference
+ so gcc doesn't optimize out the function entirely.
+
Sun Apr 2 13:13:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/execvp.c: Don't use stat to search path; just try execv
diff --git a/misc/progname.c b/misc/progname.c
index 265ca5c3a9..d4efac976d 100644
--- a/misc/progname.c
+++ b/misc/progname.c
@@ -21,8 +21,11 @@ Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <string.h>
-char *program_invocation_name;
-char *program_invocation_short_name;
+/* These must be initialized data definitions. Common definitions satisfy
+ references to these variables, but do not cause the whole file to be
+ linked in, and so omit the set-up function. */
+char *program_invocation_name = NULL;
+char *program_invocation_short_name = NULL;
static void
DEFUN(set_progname, (argc, argv, envp),
diff --git a/sysdeps/mach/hurd/setitimer.c b/sysdeps/mach/hurd/setitimer.c
index 4351c5ea99..4f494a4c6e 100644
--- a/sysdeps/mach/hurd/setitimer.c
+++ b/sysdeps/mach/hurd/setitimer.c
@@ -326,6 +326,8 @@ fork_itimer (void)
it.it_value = it.it_interval;
setitimer_locked (&it, NULL, NULL);
+
+ (void) &fork_itimer; /* Avoid gcc optimizing out the function. */
}
text_set_element (_hurd_fork_child_hook, fork_itimer);