int need_coff_header = 1;
#include <coff-encap/a.out.encap.h> /* The location might be a poor assumption */
#else
-#ifdef MSDOS
-#if __DJGPP__ > 1
-#include <fcntl.h> /* for O_RDONLY, O_RDWR */
-#endif
-#include <coff.h>
-#define filehdr external_filehdr
-#define scnhdr external_scnhdr
-#define syment external_syment
-#define auxent external_auxent
-#define n_numaux e_numaux
-#define n_type e_type
-struct aouthdr
-{
- unsigned short magic; /* type of file */
- unsigned short vstamp; /* version stamp */
- unsigned long tsize; /* text size in bytes, padded to FW bdry*/
- unsigned long dsize; /* initialized data " " */
- unsigned long bsize; /* uninitialized data " " */
- unsigned long entry; /* entry pt. */
- unsigned long text_start;/* base of text used for this file */
- unsigned long data_start;/* base of data used for this file */
-};
-
-
-#else /* not MSDOS */
#include <a.out.h>
-#endif /* not MSDOS */
#endif /* not COFF_ENCAPSULATE */
/* Define getpagesize if the system does not.
#else /* COFF, but not USG_SHARED_LIBRARIES */
-#ifdef MSDOS
-#if __DJGPP__ >= 2
- /* Dump the original table of exception handlers, not the one
- where our exception hooks are registered. */
- __djgpp_exception_toggle ();
-#endif
-#endif
-
lseek (new, (long) text_scnptr, 0);
ptr = (char *) f_ohdr.text_start;
#ifdef HEADER_INCL_IN_TEXT
end = ptr + f_ohdr.dsize;
write_segment (new, ptr, end);
-#ifdef MSDOS
-#if __DJGPP__ >= 2
- /* Restore our exception hooks. */
- __djgpp_exception_toggle ();
-#endif
-#endif
-
#endif /* USG_SHARED_LIBRARIES */
#else /* if not COFF */
if (!lnnoptr || !f_hdr.f_symptr)
return 0;
-#ifdef MSDOS
- if ((new = writedesc) < 0)
-#else
if ((new = open (new_name, O_RDWR)) < 0)
-#endif
{
PERROR (new_name);
return -1;
}
}
}
-#ifndef MSDOS
close (new);
-#endif
return 0;
}