Platform specific relocation definitions.
authorUlrich Drepper <drepper@redhat.com>
Tue, 21 Jul 1998 20:12:27 +0000 (20:12 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 21 Jul 1998 20:12:27 +0000 (20:12 +0000)
include/elf/arm.h [new file with mode: 0644]
include/elf/d10v.h [new file with mode: 0644]
include/elf/d30v.h [new file with mode: 0644]
include/elf/i386.h [new file with mode: 0644]
include/elf/m68k.h [new file with mode: 0644]
include/elf/mn10200.h [new file with mode: 0644]
include/elf/sh.h [new file with mode: 0644]

diff --git a/include/elf/arm.h b/include/elf/arm.h
new file mode 100644 (file)
index 0000000..6424757
--- /dev/null
@@ -0,0 +1,37 @@
+/* ARM ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_ARM_H
+#define _ELF_ARM_H
+
+/* Relocations.  */
+#define R_ARM_NONE     0               /* No reloc */
+#define R_ARM_PC24     1               /* PC relative 26 bit branch */
+#define R_ARM_ABS32    2               /* Direct 32 bit  */
+#define R_ARM_REL32    3               /* PC relative 32 bit */
+#define R_ARM_COPY     20              /* Copy symbol at runtime */
+#define R_ARM_GLOB_DAT 21              /* Create GOT entry */
+#define R_ARM_JUMP_SLOT        22              /* Create PLT entry */
+#define R_ARM_RELATIVE 23              /* Adjust by program base */
+#define R_ARM_GOTOFF   24              /* 32 bit offset to GOT */
+#define R_ARM_GOTPC    25              /* 32 bit PC relative offset to GOT */
+#define R_ARM_GOT32    26              /* 32 bit GOT entry */
+#define R_ARM_PLT32    27              /* 32 bit PLT address */
+
+#endif
diff --git a/include/elf/d10v.h b/include/elf/d10v.h
new file mode 100644 (file)
index 0000000..f0952f2
--- /dev/null
@@ -0,0 +1,31 @@
+/* d10v ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_D10V_H
+#define _ELF_D10V_H
+
+#define R_D10V_NONE            0
+#define R_D10V_10_PCREL_R      1
+#define R_D10V_10_PCREL_L      2
+#define R_D10V_16              3
+#define R_D10V_18              4
+#define R_D10V_18_PCREL                5
+#define R_D10V_32              6
+
+#endif
diff --git a/include/elf/d30v.h b/include/elf/d30v.h
new file mode 100644 (file)
index 0000000..23758ea
--- /dev/null
@@ -0,0 +1,37 @@
+/* d30v ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_D30V_H
+#define _ELF_D30V_H
+
+#define R_D30V_NONE            0
+#define R_D30V_6               1
+#define R_D30V_9_PCREL         2
+#define R_D30V_9_PCREL_R       3
+#define R_D30V_15              4
+#define R_D30V_15_PCREL                5
+#define R_D30V_15_PCREL_R      6
+#define R_D30V_21              7
+#define R_D30V_21_PCREL                8
+#define R_D30V_21_PCREL_R      9
+#define R_D30V_32              10
+#define R_D30V_32_PCREL                11
+#define R_D30V_32_NORMAL       12
+
+#endif
diff --git a/include/elf/i386.h b/include/elf/i386.h
new file mode 100644 (file)
index 0000000..95eaea8
--- /dev/null
@@ -0,0 +1,38 @@
+/* ix86 ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_I386_H
+#define _ELF_I386_H
+
+#define R_386_NONE     0               /* No reloc */
+#define R_386_32       1               /* Direct 32 bit  */
+#define R_386_PC32     2               /* PC relative 32 bit */
+#define R_386_GOT32    3               /* 32 bit GOT entry */
+#define R_386_PLT32    4               /* 32 bit PLT address */
+#define R_386_COPY     5               /* Copy symbol at runtime */
+#define R_386_GLOB_DAT 6               /* Create GOT entry */
+#define R_386_JMP_SLOT 7               /* Create PLT entry */
+#define R_386_RELATIVE 8               /* Adjust by program base */
+#define R_386_GOTOFF   9               /* 32 bit offset to GOT */
+#define R_386_GOTPC    10              /* 32 bit PC relative offset to GOT */
+#define R_386_16       20
+#define R_386_PC16     21
+#define R_386_PC8      22
+
+#endif
diff --git a/include/elf/m68k.h b/include/elf/m68k.h
new file mode 100644 (file)
index 0000000..aee6cd1
--- /dev/null
@@ -0,0 +1,47 @@
+/* MC68k ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_M68K_H
+#define _ELF_M68K_H
+
+#define R_68K_NONE     0               /* No reloc */
+#define R_68K_32       1               /* Direct 32 bit  */
+#define R_68K_16       2               /* Direct 16 bit  */
+#define R_68K_8                3               /* Direct 8 bit  */
+#define R_68K_PC32     4               /* PC relative 32 bit */
+#define R_68K_PC16     5               /* PC relative 16 bit */
+#define R_68K_PC8      6               /* PC relative 8 bit */
+#define R_68K_GOT32    7               /* 32 bit PC relative GOT entry */
+#define R_68K_GOT16    8               /* 16 bit PC relative GOT entry */
+#define R_68K_GOT8     9               /* 8 bit PC relative GOT entry */
+#define R_68K_GOT32O   10              /* 32 bit GOT offset */
+#define R_68K_GOT16O   11              /* 16 bit GOT offset */
+#define R_68K_GOT8O    12              /* 8 bit GOT offset */
+#define R_68K_PLT32    13              /* 32 bit PC relative PLT address */
+#define R_68K_PLT16    14              /* 16 bit PC relative PLT address */
+#define R_68K_PLT8     15              /* 8 bit PC relative PLT address */
+#define R_68K_PLT32O   16              /* 32 bit PLT offset */
+#define R_68K_PLT16O   17              /* 16 bit PLT offset */
+#define R_68K_PLT8O    18              /* 8 bit PLT offset */
+#define R_68K_COPY     19              /* Copy symbol at runtime */
+#define R_68K_GLOB_DAT 20              /* Create GOT entry */
+#define R_68K_JMP_SLOT 21              /* Create PLT entry */
+#define R_68K_RELATIVE 22              /* Adjust by program base */
+
+#endif
diff --git a/include/elf/mn10200.h b/include/elf/mn10200.h
new file mode 100644 (file)
index 0000000..edba055
--- /dev/null
@@ -0,0 +1,35 @@
+/* MN10200 ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+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.  */
+
+/* This file holds definitions specific to the MN10200 ELF ABI. */
+
+#ifndef _ELF_MN10200_H
+#define _ELF_MN10200_H
+
+/* Relocations.  */
+#define R_MN10200_NONE         0
+#define R_MN10200_32           1
+#define R_MN10200_16           2
+#define R_MN10200_8            3
+#define R_MN10200_24           4
+#define R_MN10200_PCREL8       5
+#define R_MN10200_PCREL16      6
+#define R_MN10200_PCREL24      7
+
+#endif /* _ELF_MN10200_H */
diff --git a/include/elf/sh.h b/include/elf/sh.h
new file mode 100644 (file)
index 0000000..eab7c45
--- /dev/null
@@ -0,0 +1,42 @@
+/* SH ELF support for BFD.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+   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_SH_H
+#define _ELF_SH_H
+
+#define R_SH_NONE      0
+#define R_SH_DIR32     1
+#define R_SH_REL32     2
+#define R_SH_DIR8WPN   3
+#define R_SH_IND12W    4
+#define R_SH_DIR8WPL   5
+#define R_SH_DIR8WPZ   6
+#define R_SH_DIR8BP    7
+#define R_SH_DIR8W     8
+#define R_SH_DIR8L     9
+#define R_SH_SWITCH16  25
+#define R_SH_SWITCH32  26
+#define R_SH_USES      27
+#define R_SH_COUNT     28
+#define R_SH_ALIGN     29
+#define R_SH_CODE      30
+#define R_SH_DATA      31
+#define R_SH_LABEL     32
+
+#endif