OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [bfd/] [i386aout.c] - Diff between revs 827 and 840

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 827 Rev 840
/* BFD back-end for i386 a.out binaries.
/* BFD back-end for i386 a.out binaries.
   Copyright 1990, 1991, 1992, 1994, 1996, 1997, 2001, 2002, 2003, 2005,
   Copyright 1990, 1991, 1992, 1994, 1996, 1997, 2001, 2002, 2003, 2005,
   2007 Free Software Foundation, Inc.
   2007 Free Software Foundation, Inc.
 
 
   This file is part of BFD, the Binary File Descriptor library.
   This file is part of BFD, the Binary File Descriptor library.
 
 
   This program is free software; you can redistribute it and/or modify
   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
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
   MA 02110-1301, USA.  */
   MA 02110-1301, USA.  */
 
 
 
 
/* The only 386 aout system we have here is GO32 from DJ.
/* The only 386 aout system we have here is GO32 from DJ.
   These numbers make BFD work with that. If your aout 386 system
   These numbers make BFD work with that. If your aout 386 system
   doesn't work with these, we'll have to split them into different
   doesn't work with these, we'll have to split them into different
   files.  Send me (sac@cygnus.com) the runes to make it work on your
   files.  Send me (sac@cygnus.com) the runes to make it work on your
   system, and I'll stick it in for the next release.  */
   system, and I'll stick it in for the next release.  */
 
 
#define N_HEADER_IN_TEXT(x)     0
#define N_HEADER_IN_TEXT(x)     0
#define N_TXTOFF(x)             0x20
#define N_TXTOFF(x)             0x20
#define N_TXTADDR(x)            (N_MAGIC (x) == ZMAGIC ? 0x1020 : 0)
#define N_TXTADDR(x)            (N_MAGIC (x) == ZMAGIC ? 0x1020 : 0)
#define N_TXTSIZE(x)            ((x).a_text)
#define N_TXTSIZE(x)            ((x).a_text)
#define TARGET_PAGE_SIZE        4096
#define TARGET_PAGE_SIZE        4096
#define SEGMENT_SIZE            0x400000
#define SEGMENT_SIZE            0x400000
#define DEFAULT_ARCH            bfd_arch_i386
#define DEFAULT_ARCH            bfd_arch_i386
 
 
/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
/* Do not "beautify" the CONCAT* macro args.  Traditional C will not
   remove whitespace added here, and thus will fail to concatenate
   remove whitespace added here, and thus will fail to concatenate
   the tokens.  */
   the tokens.  */
#define MY(OP) CONCAT2 (i386aout_,OP)
#define MY(OP) CONCAT2 (i386aout_,OP)
#define TARGETNAME "a.out-i386"
#define TARGETNAME "a.out-i386"
#define NO_WRITE_HEADER_KLUDGE 1
#define NO_WRITE_HEADER_KLUDGE 1
 
 
#include "sysdep.h"
#include "sysdep.h"
#include "bfd.h"
#include "bfd.h"
#include "libbfd.h"
#include "libbfd.h"
#include "aout/aout64.h"
#include "aout/aout64.h"
#include "libaout.h"
#include "libaout.h"
 
 
/* Set the machine type correctly.  */
/* Set the machine type correctly.  */
 
 
static bfd_boolean
static bfd_boolean
i386aout_write_object_contents (bfd *abfd)
i386aout_write_object_contents (bfd *abfd)
{
{
  struct external_exec exec_bytes;
  struct external_exec exec_bytes;
  struct internal_exec *execp = exec_hdr (abfd);
  struct internal_exec *execp = exec_hdr (abfd);
 
 
  N_SET_MACHTYPE (*execp, M_386);
  N_SET_MACHTYPE (*execp, M_386);
 
 
  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
 
 
  WRITE_HEADERS (abfd, execp);
  WRITE_HEADERS (abfd, execp);
 
 
  return TRUE;
  return TRUE;
}
}
 
 
#define MY_write_object_contents  i386aout_write_object_contents
#define MY_write_object_contents  i386aout_write_object_contents
#define MY_backend_data           & MY (backend_data)
#define MY_backend_data           & MY (backend_data)
 
 
static const struct aout_backend_data MY (backend_data);
static const struct aout_backend_data MY (backend_data);
 
 
#include "aout-target.h"
#include "aout-target.h"
 
 
static const struct aout_backend_data MY (backend_data) =
static const struct aout_backend_data MY (backend_data) =
{
{
  0,                             /* Zmagic contiguous.  */
  0,                             /* Zmagic contiguous.  */
  1,                            /* Text incl header.  */
  1,                            /* Text incl header.  */
  0,                             /* Entry is text address.  */
  0,                             /* Entry is text address.  */
  0,                             /* Exec_hdr_flags.  */
  0,                             /* Exec_hdr_flags.  */
  0,                             /* Text vma?  */
  0,                             /* Text vma?  */
  MY (set_sizes),
  MY (set_sizes),
  1,                            /* Exec header not counted.  */
  1,                            /* Exec header not counted.  */
  0,                             /* Add_dynamic_symbols.  */
  0,                             /* Add_dynamic_symbols.  */
  0,                             /* Add_one_symbol.  */
  0,                             /* Add_one_symbol.  */
  0,                             /* Link_dynamic_object.  */
  0,                             /* Link_dynamic_object.  */
  0,                             /* Write_dynamic_symbol.  */
  0,                             /* Write_dynamic_symbol.  */
  0,                             /* Check_dynamic_reloc.  */
  0,                             /* Check_dynamic_reloc.  */
  0                              /* Finish_dynamic_link.  */
  0                              /* Finish_dynamic_link.  */
};
};
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.