public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] Delete include/aout/encap.h
@ 2023-05-30  4:24 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2023-05-30  4:24 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e193947c3ba3e5bffcdb8c3729044d74fbe862a2

commit e193947c3ba3e5bffcdb8c3729044d74fbe862a2
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 30 12:51:22 2023 +0930

    Delete include/aout/encap.h
    
    This file is unused and as the header comment says, obsolete.

Diff:
---
 include/aout/encap.h | 135 ---------------------------------------------------
 1 file changed, 135 deletions(-)

diff --git a/include/aout/encap.h b/include/aout/encap.h
deleted file mode 100644
index ffd4ca4d04c..00000000000
--- a/include/aout/encap.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Yet Another Try at encapsulating bfd object files in coff.
-   Copyright (C) 1988-2023 Free Software Foundation, Inc.
-   Written by Pace Willisson 12/9/88
-
-   This file is obsolete.  It needs to be converted to just define a bunch
-   of stuff that BFD can use to do coff-encapsulated files.  --gnu@cygnus.com
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/*
- * We only use the coff headers to tell the kernel
- * how to exec the file.  Therefore, the only fields that need to 
- * be filled in are the scnptr and vaddr for the text and data
- * sections, and the vaddr for the bss.  As far as coff is concerned,
- * there is no symbol table, relocation, or line numbers.
- *
- * A normal bsd header (struct exec) is placed after the coff headers,
- * and before the real text.  I defined a the new fields 'a_machtype'
- * and a_flags.  If a_machtype is M_386, and a_flags & A_ENCAP is
- * true, then the bsd header is preceeded by a coff header.  Macros
- * like N_TXTOFF and N_TXTADDR use this field to find the bsd header.
- * 
- * The only problem is to track down the bsd exec header.  The
- * macros HEADER_OFFSET, etc do this.
- */
-
-#define N_FLAGS_COFF_ENCAPSULATE 0x20 /* coff header precedes bsd header */
-
-/* Describe the COFF header used for encapsulation.  */
-
-struct coffheader
-{
-  /* filehdr */
-  unsigned short f_magic;
-  unsigned short f_nscns;
-  long f_timdat;
-  long f_symptr;
-  long f_nsyms;
-  unsigned short f_opthdr;
-  unsigned short f_flags;
-  /* aouthdr */
-  short magic;
-  short vstamp;
-  long tsize;
-  long dsize;
-  long bsize;
-  long entry;
-  long text_start;
-  long data_start;
-  struct coffscn
-    {
-      char s_name[8];
-      long s_paddr;
-      long s_vaddr;
-      long s_size;
-      long s_scnptr;
-      long s_relptr;
-      long s_lnnoptr;
-      unsigned short s_nreloc;
-      unsigned short s_nlnno;
-      long s_flags;
-    } scns[3];
-};
-\f
-/* Describe some of the parameters of the encapsulation,
-   including how to find the encapsulated BSD header.  */
-
-/* FIXME, this is dumb.  The same tools can't handle a.outs for different
-   architectures, just because COFF_MAGIC is different; so you need a
-   separate GNU nm for every architecture!!?  Unfortunately, it needs to
-   be this way, since the COFF_MAGIC value is determined by the kernel
-   we're trying to fool here.  */
-   
-#define COFF_MAGIC_I386 0514 /* I386MAGIC */
-#define COFF_MAGIC_M68K 0520 /* MC68MAGIC */
-
-#ifdef COFF_MAGIC
-short __header_offset_temp;
-#define HEADER_OFFSET(f) \
-	(__header_offset_temp = 0, \
-	 fread ((char *)&__header_offset_temp, sizeof (short), 1, (f)), \
-	 fseek ((f), -sizeof (short), 1), \
-	 __header_offset_temp==COFF_MAGIC ? sizeof(struct coffheader) : 0)
-#else
-#define HEADER_OFFSET(f) 0
-#endif
-
-#define HEADER_SEEK(f) (fseek ((f), HEADER_OFFSET((f)), 1))
-\f
-/* Describe the characteristics of the BSD header
-   that appears inside the encapsulation.  */
-
-/* Encapsulated coff files that are linked ZMAGIC have a text segment
-   offset just past the header (and a matching TXTADDR), excluding
-   the headers from the text segment proper but keeping the physical
-   layout and the virtual memory layout page-aligned.
-
-   Non-encapsulated a.out files that are linked ZMAGIC have a text
-   segment that starts at 0 and an N_TXTADR similarly offset to 0.
-   They too are page-aligned with each other, but they include the
-   a.out header as part of the text. 
-
-   The _N_HDROFF gets sizeof struct exec added to it, so we have
-   to compensate here.  See <a.out.gnu.h>.  */
-
-#undef _N_HDROFF
-#undef N_TXTADDR
-#undef N_DATADDR
-
-#define _N_HDROFF(x) ((N_FLAGS(x) & N_FLAGS_COFF_ENCAPSULATE) ? \
-		      sizeof (struct coffheader) : 0)
-
-/* Address of text segment in memory after it is loaded.  */
-#define N_TXTADDR(x) \
-	((N_FLAGS(x) & N_FLAGS_COFF_ENCAPSULATE) ? \
-	 sizeof (struct coffheader) + sizeof (struct exec) : 0)
-#define SEGMENT_SIZE 0x400000
-
-#define N_DATADDR(x) \
-	((N_FLAGS(x) & N_FLAGS_COFF_ENCAPSULATE) ? \
-	 (SEGMENT_SIZE + ((N_TXTADDR(x)+(x)->a_text-1) & ~(SEGMENT_SIZE-1))) : \
-	 (N_TXTADDR(x)+(x)->a_text))

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-05-30  4:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30  4:24 [binutils-gdb] Delete include/aout/encap.h Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).