This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: gdb/247: ../../opcodes/../ltconfig[92]: The fork function failed. There is not enough memory available.
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 26 Nov 2001 17:48:01 -0000
- Subject: Re: gdb/247: ../../opcodes/../ltconfig[92]: The fork function failed. There is not enough memory available.
- Reply-to: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
The following reply was made to PR gdb/247; it has been noted by GNATS.
From: "John David Anglin" <dave@hiauly1.hia.nrc.ca>
To: ac131313@cygnus.com (Andrew Cagney)
Cc: dave.anglin@nrc.ca, gdb-gnats@sources.redhat.com
Subject: Re: gdb/247: ../../opcodes/../ltconfig[92]: The fork function failed. There is not enough memory available.
Date: Mon, 26 Nov 2001 12:42:53 -0500 (EST)
> As an aside, this is a known problem in GDB 5.1 (see the file gdb/README).
I tried the current cvs last night and the problem is fixed. However, I
still haven't been able to build a functional gdb for hppa64-hp-hpux11.00 :-(
There are a number of problems:
1) regex.c needs to include "libiberty.h" to define alloca to C_alloca:
--- regex.c.orig Fri Nov 16 17:19:49 2001
+++ regex.c Mon Nov 26 00:13:12 2001
@@ -36,6 +36,8 @@
# include <config.h>
#endif
+#include "libiberty.h"
+
#ifndef PARAMS
# if defined __GNUC__ || (defined __STDC__ && __STDC__)
# define PARAMS(args) args
2) configure.host needs to define HOST_64BIT_TYPE=long for hppa64:
--- configure.host.orig Thu Jun 21 03:44:29 2001
+++ configure.host Sun Nov 25 16:15:55 2001
@@ -21,6 +21,8 @@
alpha*-*-*) host64=true; HOST_64BIT_TYPE=long ;;
+hppa*64-*-hpux*) HDEFINES=-DHOST_HPPAHPUX;
+ host64=true; HOST_64BIT_TYPE=long ;;
hppa*-*-hpux*) HDEFINES=-DHOST_HPPAHPUX ;;
hppa*-*-hiux*) HDEFINES=-DHOST_HPPAHPUX ;;
hppa*-*-mpeix*) HDEFINES=-DHOST_HPPAMPEIX ;;
3) Coding error in doublest.c:
--- doublest.c.orig Mon Oct 29 18:35:37 2001
+++ doublest.c Sun Nov 25 16:35:06 2001
@@ -719,9 +719,9 @@
memset (addr, 0, TYPE_LENGTH (type));
if (TYPE_FLOATFORMAT (type) == NULL)
- return store_floating (addr, TYPE_LENGTH (type), val);
-
- floatformat_from_doublest (TYPE_FLOATFORMAT (type), &val, addr);
+ store_floating (addr, TYPE_LENGTH (type), val);
+ else
+ floatformat_from_doublest (TYPE_FLOATFORMAT (type), &val, addr);
}
/* Convert a floating-point number of type FROM_TYPE from a
4) pa64solib.c needs to define the function no_shared_libraries. I made
a quick hack not understanding fully what is required:
--- pa64solib.c.orig Thu Nov 1 11:17:08 2001
+++ pa64solib.c Sun Nov 25 18:07:35 2001
@@ -880,6 +880,13 @@
}
void
+no_shared_libraries (char *ignored, int from_tty)
+{
+ /* FIXME: Is the ok?. */
+ /* pa64_solib_restart (); */
+}
+
+void
_initialize_pa64_solib (void)
{
add_com ("sharedlibrary", class_files, pa64_solib_sharedlibrary_command,
5) Having made the above changes, things just hang when I try to run a
program under gdb. The forked gdb process is indicated as running
but it doesn't seem to actually execute:
(gdb) run --version
Starting program: /xxx/gnu/gcc-3.1/objdir/gcc/stage1/cc1 --version
ttrace wait: No such process.
The last message comes when the forked process is killed. Any thoughts
on what might be wrong?
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)