program text). HDR's standard fields are already correct, except that
this adjustment to the `a_text' field has not yet been made;
thus, the amount of offset can depend on the data in the file.
-
+
* A_TEXT_SEEK(HDR)
If defined, this macro specifies the number of bytes to seek into the
# undef _POSIX_SOURCE
# endif
-# if defined(__lucid) && !defined(__STDC_EXTENDED__)
-# define __STDC_EXTENDED__ 1
-# endif
-
+# include <stddef.h>
# include <stdlib.h>
# include <unistd.h>
# include <string.h>
-
-# ifdef __lucid
-# include <sysent.h>
-# endif
+# include <stddef.h>
+# include <errno.h>
#endif
#ifdef __STDC__
#ifndef __sys_stdtypes_h
-#ifndef _PTRDIFF_T
+#if !defined(_PTRDIFF_T) && !defined(_BSD_PTRDIFF_T_)
typedef long ptrdiff_t;
#endif
#endif
{
close (new);
/* unlink (new_name); / * Failed, unlink new a.out */
- return -1;
+ return -1;
}
close (new);
#ifdef RISCiX
- /* Acorn's RISC-iX has a wacky way of initialising the position of the heap.
+ /* Acorn's RISC-iX has a wacky way of initializing the position of the heap.
* There is a little table in crt0.o that is filled at link time with
* the min and current brk positions, among other things. When start
* runs, it copies the table to where these parameters live during
char c;
int mcount_address, mcount_offset, count;
extern char *_execname;
-
+
/* The use of _execname is incompatible with RISCiX 1.1 */
sprintf (command, "nm %s | fgrep mcount", _execname);
{
sprintf (errbuf, "Failed to execute the command '%s'\n", command);
PERROR (errbuf);
- }
+ }
sscanf(address_text, "%x", &mcount_address);
ptr = (char *) unexec_text_start;
#if 0
char buf[80];
#endif
- extern int errno;
/* This is the normal amount to write at once.
It is the size of block that NFS uses. */
int writesize = 1 << 13;