[PATCH] ELF definitions for VAX

Jason R Thorpe thorpej@wasabisystems.com
Wed May 29 18:43:00 GMT 2002


This is the first piece of the elf32-vax target contributed by
Matt Thomas.

Committed to mainline.

2002-05-29  Matt Thomas  <matt@3am-software.com>

        * vax.h: New file

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>
-------------- next part --------------
Index: vax.h
===================================================================
RCS file: vax.h
diff -N vax.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ vax.h	30 May 2002 01:40:55 -0000
@@ -0,0 +1,51 @@
+/* VAX ELF support for BFD.
+   Copyright (C) 2002 Free Software Foundation, Inc.
+   Contributed by Matt Thomas <matt@3am-software.com>.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef _ELF_VAX_H
+#define _ELF_VAX_H
+
+#include "elf/reloc-macros.h"
+
+/* Relocation types.  */
+START_RELOC_NUMBERS (elf_vax_reloc_type)
+  RELOC_NUMBER (R_VAX_NONE, 0)		/* No reloc */
+  RELOC_NUMBER (R_VAX_32, 1)		/* Direct 32 bit  */
+  RELOC_NUMBER (R_VAX_16, 2)		/* Direct 16 bit  */
+  RELOC_NUMBER (R_VAX_8, 3)		/* Direct 8 bit  */
+  RELOC_NUMBER (R_VAX_PC32, 4)		/* PC relative 32 bit */
+  RELOC_NUMBER (R_VAX_PC16, 5)		/* PC relative 16 bit */
+  RELOC_NUMBER (R_VAX_PC8, 6)		/* PC relative 8 bit */
+  RELOC_NUMBER (R_VAX_GOT32, 7)		/* 32 bit PC relative GOT entry */
+  RELOC_NUMBER (R_VAX_PLT32, 13)	/* 32 bit PC relative PLT address */
+  RELOC_NUMBER (R_VAX_COPY, 19)		/* Copy symbol at runtime */
+  RELOC_NUMBER (R_VAX_GLOB_DAT, 20)	/* Create GOT entry */
+  RELOC_NUMBER (R_VAX_JMP_SLOT, 21)	/* Create PLT entry */
+  RELOC_NUMBER (R_VAX_RELATIVE, 22)	/* Adjust by program base */
+  /* These are GNU extensions to enable C++ vtable garbage collection.  */
+  RELOC_NUMBER (R_VAX_GNU_VTINHERIT, 23)
+  RELOC_NUMBER (R_VAX_GNU_VTENTRY, 24)
+END_RELOC_NUMBERS (R_VAX_max)   
+
+/* Processor specific flags for the ELF header e_flags field.  */
+#define EF_NONPIC		0x0001	/* Object contains non-PIC code */
+#define EF_DFLOAT		0x0100	/* Object contains D-Float insn.  */
+#define EF_GFLOAT		0x0200	/* Object contains G-Float insn.  */
+
+#endif


More information about the Binutils mailing list