This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[COMMITTED PATCH] add new relocs to s390.c
- From: Roland McGrath <mcgrathr at google dot com>
- To: Andreas dot Krebbel at de dot ibm dot com
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Fri, 12 Jul 2013 13:40:15 -0700
- Subject: [COMMITTED PATCH] add new relocs to s390.c
In this change:
2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
(elf_s390_reloc_type_lookup, elf_s390_check_relocs)
(elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
relocations.
* elf64-s390.c: See elf32-s390.c
* bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
* libbfd.h: Add new reloc strings.
Andreas apparently hand-editted bfd-in2.h and libbfd.h, which are generated
files. The source of truth is reloc.c. So now if one has configured with
--enable-maintainer-mode, or just does 'make -C bfd headers' in a build
directory, they get regenerated without those changes and the build breaks
(if s390 targets are enabled).
Both those files start with a "DO NOT EDIT!" scare comment, so I'm not sure
what else we should do to avoid this kind of mistake in the future.
I've committed the following change as obvious enough, since it results in
the regenerated files matching what was committed before and the build
completing.
Thanks,
Roland
bfd/
2013-07-12 Roland McGrath <mcgrathr@google.com>
* reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
been added here with 2013-07-05 elf32-s390.c change).
* bfd-in2.h: Regenerate (no-op).
* libbfd.h: Regenerate (no-op).
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -4658,6 +4658,14 @@ ENUM
ENUMDOC
16 bit GOT offset.
ENUM
+ BFD_RELOC_390_PC12DBL
+ENUMDOC
+ PC relative 12 bit shifted by 1.
+ENUM
+ BFD_RELOC_390_PLT12DBL
+ENUMDOC
+ 12 bit PC rel. PLT shifted by 1.
+ENUM
BFD_RELOC_390_PC16DBL
ENUMDOC
PC relative 16 bit shifted by 1.
@@ -4666,6 +4674,14 @@ ENUM
ENUMDOC
16 bit PC rel. PLT shifted by 1.
ENUM
+ BFD_RELOC_390_PC24DBL
+ENUMDOC
+ PC relative 24 bit shifted by 1.
+ENUM
+ BFD_RELOC_390_PLT24DBL
+ENUMDOC
+ 24 bit PC rel. PLT shifted by 1.
+ENUM
BFD_RELOC_390_PC32DBL
ENUMDOC
PC relative 32 bit shifted by 1.