* Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
(ALL_MACHINES_CFILES): Add cpu-cris.c. (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo. (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c. (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules. * Makefile.in: Rebuild. * aclocal.m4: Rebuild. * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris. * archures.c (enum bfd_architecture): Add bfd_arch_cris. (bfd_cris_arch): Declare. (bfd_archures_list): Add bfd_cris_arch. * bfd-in2.h: Rebuild. * config.bfd: (cris-*-*): New target. * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors. * configure: Rebuild. * elf.c (prep_headers): Add bfd_arch_cris. * libbfd.h: Rebuild. * libaout.h (enum machine_type): Add M_CRIS. * reloc.c: Add CRIS relocations. * targets.c (bfd_target bfd_elf32_cris_vec, cris_aout_vec): Declare. (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec. * cpu-cris.c, aout-cris.c, elf32-cris.c: New files. * po/POTFILES.in, po/bfd.pot: Regenerate.
This commit is contained in:
parent
19e3be22a4
commit
06c15ad74f
20 changed files with 1551 additions and 453 deletions
|
@ -1,3 +1,30 @@
|
|||
2000-07-20 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
|
||||
(ALL_MACHINES_CFILES): Add cpu-cris.c.
|
||||
(BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
|
||||
(BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
|
||||
(cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
|
||||
* Makefile.in: Rebuild.
|
||||
* aclocal.m4: Rebuild.
|
||||
* aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
|
||||
* archures.c (enum bfd_architecture): Add bfd_arch_cris.
|
||||
(bfd_cris_arch): Declare.
|
||||
(bfd_archures_list): Add bfd_cris_arch.
|
||||
* bfd-in2.h: Rebuild.
|
||||
* config.bfd: (cris-*-*): New target.
|
||||
* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
|
||||
* configure: Rebuild.
|
||||
* elf.c (prep_headers): Add bfd_arch_cris.
|
||||
* libbfd.h: Rebuild.
|
||||
* libaout.h (enum machine_type): Add M_CRIS.
|
||||
* reloc.c: Add CRIS relocations.
|
||||
* targets.c (bfd_target bfd_elf32_cris_vec, cris_aout_vec):
|
||||
Declare.
|
||||
(bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
|
||||
* cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
|
||||
* po/POTFILES.in, po/bfd.pot: Regenerate.
|
||||
|
||||
2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
|
||||
|
|
|
@ -45,6 +45,7 @@ ALL_MACHINES = \
|
|||
cpu-arc.lo \
|
||||
cpu-arm.lo \
|
||||
cpu-avr.lo \
|
||||
cpu-cris.lo \
|
||||
cpu-d10v.lo \
|
||||
cpu-d30v.lo \
|
||||
cpu-fr30.lo \
|
||||
|
@ -86,6 +87,7 @@ ALL_MACHINES_CFILES = \
|
|||
cpu-arc.c \
|
||||
cpu-arm.c \
|
||||
cpu-avr.c \
|
||||
cpu-cris.c \
|
||||
cpu-d10v.c \
|
||||
cpu-d30v.c \
|
||||
cpu-fr30.c \
|
||||
|
@ -126,6 +128,7 @@ ALL_MACHINES_CFILES = \
|
|||
BFD32_BACKENDS = \
|
||||
aout-adobe.lo \
|
||||
aout-arm.lo \
|
||||
aout-cris.lo \
|
||||
aout-ns32k.lo \
|
||||
aout-sparcle.lo \
|
||||
aout-tic30.lo \
|
||||
|
@ -173,6 +176,7 @@ BFD32_BACKENDS = \
|
|||
elfarm-oabi.lo \
|
||||
elfarm-nabi.lo \
|
||||
elf32-avr.lo \
|
||||
elf32-cris.lo \
|
||||
elf32-d10v.lo \
|
||||
elf32-d30v.lo \
|
||||
elf32-fr30.lo \
|
||||
|
@ -261,6 +265,7 @@ BFD32_BACKENDS = \
|
|||
BFD32_BACKENDS_CFILES = \
|
||||
aout-adobe.c \
|
||||
aout-arm.c \
|
||||
aout-cris.c \
|
||||
aout-ns32k.c \
|
||||
aout-sparcle.c \
|
||||
aout-tic30.c \
|
||||
|
@ -308,6 +313,7 @@ BFD32_BACKENDS_CFILES = \
|
|||
elfarm-oabi.c \
|
||||
elfarm-nabi.c \
|
||||
elf32-avr.c \
|
||||
elf32-cris.c \
|
||||
elf32-d10v.c \
|
||||
elf32-d30v.c \
|
||||
elf32-fr30.c \
|
||||
|
@ -720,6 +726,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/filenames.h
|
|||
cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h
|
||||
cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h
|
||||
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h
|
||||
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h
|
||||
cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h
|
||||
cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h
|
||||
cpu-fr30.lo: cpu-fr30.c $(INCDIR)/filenames.h
|
||||
|
@ -762,6 +769,10 @@ aout-arm.lo: aout-arm.c $(INCDIR)/filenames.h libaout.h \
|
|||
$(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h aoutx.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
aout-target.h
|
||||
aout-cris.lo: aout-cris.c aout32.c aoutx.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
aout-target.h
|
||||
aout-ns32k.lo: aout-ns32k.c $(INCDIR)/aout/aout64.h \
|
||||
ns32k.h libaout.h $(INCDIR)/bfdlink.h
|
||||
aout-sparcle.lo: aout-sparcle.c $(INCDIR)/bfdlink.h \
|
||||
|
@ -913,6 +924,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
|
|||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/d10v.h $(INCDIR)/elf/reloc-macros.h \
|
||||
|
|
|
@ -160,6 +160,7 @@ ALL_MACHINES = \
|
|||
cpu-arc.lo \
|
||||
cpu-arm.lo \
|
||||
cpu-avr.lo \
|
||||
cpu-cris.lo \
|
||||
cpu-d10v.lo \
|
||||
cpu-d30v.lo \
|
||||
cpu-fr30.lo \
|
||||
|
@ -202,6 +203,7 @@ ALL_MACHINES_CFILES = \
|
|||
cpu-arc.c \
|
||||
cpu-arm.c \
|
||||
cpu-avr.c \
|
||||
cpu-cris.c \
|
||||
cpu-d10v.c \
|
||||
cpu-d30v.c \
|
||||
cpu-fr30.c \
|
||||
|
@ -243,6 +245,7 @@ ALL_MACHINES_CFILES = \
|
|||
BFD32_BACKENDS = \
|
||||
aout-adobe.lo \
|
||||
aout-arm.lo \
|
||||
aout-cris.lo \
|
||||
aout-ns32k.lo \
|
||||
aout-sparcle.lo \
|
||||
aout-tic30.lo \
|
||||
|
@ -290,6 +293,7 @@ BFD32_BACKENDS = \
|
|||
elfarm-oabi.lo \
|
||||
elfarm-nabi.lo \
|
||||
elf32-avr.lo \
|
||||
elf32-cris.lo \
|
||||
elf32-d10v.lo \
|
||||
elf32-d30v.lo \
|
||||
elf32-fr30.lo \
|
||||
|
@ -379,6 +383,7 @@ BFD32_BACKENDS = \
|
|||
BFD32_BACKENDS_CFILES = \
|
||||
aout-adobe.c \
|
||||
aout-arm.c \
|
||||
aout-cris.c \
|
||||
aout-ns32k.c \
|
||||
aout-sparcle.c \
|
||||
aout-tic30.c \
|
||||
|
@ -426,6 +431,7 @@ BFD32_BACKENDS_CFILES = \
|
|||
elfarm-oabi.c \
|
||||
elfarm-nabi.c \
|
||||
elf32-avr.c \
|
||||
elf32-cris.c \
|
||||
elf32-d10v.c \
|
||||
elf32-d30v.c \
|
||||
elf32-fr30.c \
|
||||
|
@ -1248,6 +1254,7 @@ cpu-alpha.lo: cpu-alpha.c $(INCDIR)/filenames.h
|
|||
cpu-arc.lo: cpu-arc.c $(INCDIR)/filenames.h
|
||||
cpu-arm.lo: cpu-arm.c $(INCDIR)/filenames.h
|
||||
cpu-avr.lo: cpu-avr.c $(INCDIR)/filenames.h
|
||||
cpu-cris.lo: cpu-cris.c $(INCDIR)/filenames.h
|
||||
cpu-d10v.lo: cpu-d10v.c $(INCDIR)/filenames.h
|
||||
cpu-d30v.lo: cpu-d30v.c $(INCDIR)/filenames.h
|
||||
cpu-fr30.lo: cpu-fr30.c $(INCDIR)/filenames.h
|
||||
|
@ -1290,6 +1297,10 @@ aout-arm.lo: aout-arm.c $(INCDIR)/filenames.h libaout.h \
|
|||
$(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h aoutx.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
aout-target.h
|
||||
aout-cris.lo: aout-cris.c aout32.c aoutx.h $(INCDIR)/filenames.h \
|
||||
$(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \
|
||||
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
|
||||
aout-target.h
|
||||
aout-ns32k.lo: aout-ns32k.c $(INCDIR)/aout/aout64.h \
|
||||
ns32k.h libaout.h $(INCDIR)/bfdlink.h
|
||||
aout-sparcle.lo: aout-sparcle.c $(INCDIR)/bfdlink.h \
|
||||
|
@ -1441,6 +1452,10 @@ elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
|
|||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/avr.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \
|
||||
elf32-target.h
|
||||
elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \
|
||||
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
|
||||
$(INCDIR)/bfdlink.h $(INCDIR)/elf/d10v.h $(INCDIR)/elf/reloc-macros.h \
|
||||
|
|
11
bfd/aclocal.m4
vendored
11
bfd/aclocal.m4
vendored
|
@ -224,7 +224,7 @@ LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
|||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
|
||||
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|
||||
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
|
||||
# Reload cache, that may have been modified by ltconfig
|
||||
|
@ -256,6 +256,11 @@ AC_REQUIRE([AC_PROG_NM])dnl
|
|||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
dnl
|
||||
|
||||
case "$target" in
|
||||
NONE) lt_target="$host" ;;
|
||||
*) lt_target="$target" ;;
|
||||
esac
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags="--cache-file=$cache_file"
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
|
@ -274,7 +279,7 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
|||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$host" in
|
||||
case "$lt_target" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
|
@ -541,7 +546,7 @@ AC_MSG_RESULT([$NM])
|
|||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$host" in
|
||||
case "$lt_target" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
|
|
298
bfd/aout-cris.c
Normal file
298
bfd/aout-cris.c
Normal file
|
@ -0,0 +1,298 @@
|
|||
/* BFD backend for CRIS a.out binaries.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Contributed by Axis Communications AB.
|
||||
Written by Hans-Peter Nilsson.
|
||||
|
||||
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. */
|
||||
|
||||
/* See info in the file PORTING for documentation of these macros and
|
||||
functions. Beware; some of the information there is outdated. */
|
||||
|
||||
#define N_HEADER_IN_TEXT(x) 0
|
||||
#define BYTES_IN_WORD 4
|
||||
#define N_TXTOFF(x) 32
|
||||
#define ENTRY_CAN_BE_ZERO
|
||||
#define TEXT_START_ADDR 0
|
||||
|
||||
/* If you change this to 4, you can not link to an address N*4+2. */
|
||||
#define SEGMENT_SIZE 2
|
||||
|
||||
/* For some reason, if the a.out file has Z_MAGIC, then
|
||||
adata(abfd).exec_bytes_size is not used, but rather
|
||||
adata(abfd).zmagic_disk_block_size, even though the exec_header is
|
||||
*not* included in the text segment. A simple workaround is to
|
||||
#define ZMAGIC_DISK_BLOCK_SIZE, which is used if defined; otherwise
|
||||
TARGET_PAGE_SIZE is used. */
|
||||
#define ZMAGIC_DISK_BLOCK_SIZE N_TXTOFF (0)
|
||||
|
||||
/* It seems odd at first to set a page-size this low, but gives greater
|
||||
freedom in where things can be linked. The drawback is that you have
|
||||
to set alignment and padding in linker scripts. */
|
||||
#define TARGET_PAGE_SIZE SEGMENT_SIZE
|
||||
#define TARGETNAME "a.out-cris"
|
||||
|
||||
/* N_SHARED_LIB gets this reasonable default as of 1999-07-12, but we
|
||||
have to work with 2.9.1. Note that N_SHARED_LIB is used in a
|
||||
SUN-specific context, not applicable to CRIS. */
|
||||
#define N_SHARED_LIB(x) 0
|
||||
|
||||
/* The definition here seems not used; just provided as a convention. */
|
||||
#define DEFAULT_ARCH bfd_arch_cris
|
||||
|
||||
/* ??? Spacing might be essential for the parameters in this macro.
|
||||
Do Not Change. */
|
||||
#define MY(OP) CAT (cris_aout_,OP)
|
||||
#define NAME(x,y) CAT3(cris_aout,_32_,y)
|
||||
|
||||
#include "bfd.h"
|
||||
|
||||
/* Version 1 of the header. */
|
||||
#define MY_exec_hdr_flags 1
|
||||
|
||||
#define MY_write_object_contents MY(write_object_contents)
|
||||
static boolean MY(write_object_contents) PARAMS ((bfd *));
|
||||
|
||||
/* Forward this, so we can use a pointer to it in PARAMS. */
|
||||
struct reloc_ext_external;
|
||||
|
||||
#define MY_swap_ext_reloc_out MY(swap_ext_reloc_out)
|
||||
static void MY(swap_ext_reloc_out) PARAMS ((bfd *, arelent *,
|
||||
struct reloc_ext_external *));
|
||||
|
||||
#define MY_swap_ext_reloc_in MY(swap_ext_reloc_in)
|
||||
static void MY(swap_ext_reloc_in) PARAMS ((bfd *, struct
|
||||
reloc_ext_external *,
|
||||
arelent *, asymbol **,
|
||||
bfd_size_type));
|
||||
|
||||
#define MY_set_sizes MY(set_sizes)
|
||||
static boolean MY(set_sizes) PARAMS ((bfd *));
|
||||
|
||||
/* To set back reloc_size to ext, we make MY(set_sizes) be called
|
||||
through this construct. Note that MY_set_arch_mach is only called
|
||||
through SET_ARCH_MACH. The default bfd_default_set_arch_mach will
|
||||
not call set_sizes. */
|
||||
|
||||
#define MY_set_arch_mach NAME (aout, set_arch_mach)
|
||||
#define SET_ARCH_MACH(BFD, EXEC) \
|
||||
MY_set_arch_mach (BFD, DEFAULT_ARCH, N_MACHTYPE (EXEC))
|
||||
|
||||
/* These macros describe the binary layout of the reloc information we
|
||||
use in a file. */
|
||||
#define RELOC_EXT_BITS_EXTERN_LITTLE 0x80
|
||||
#define RELOC_EXT_BITS_TYPE_LITTLE 3
|
||||
#define RELOC_EXT_BITS_TYPE_SH_LITTLE 0
|
||||
|
||||
#ifndef MY_get_section_contents
|
||||
#define MY_get_section_contents aout_32_get_section_contents
|
||||
#endif
|
||||
|
||||
/* Include generic functions (some are overridden above). */
|
||||
#include "aout32.c"
|
||||
#include "aout-target.h"
|
||||
|
||||
|
||||
/* We need our own version to set header flags. */
|
||||
|
||||
static boolean
|
||||
MY(write_object_contents) (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
struct external_exec exec_bytes;
|
||||
struct internal_exec *execp = exec_hdr (abfd);
|
||||
|
||||
/* We set the reloc type to RELOC_EXT_SIZE, although setting it at all
|
||||
seems unnecessary when inspecting as and ld behavior (not an
|
||||
exhaustive inspection). The default write_object_contents
|
||||
definition sets RELOC_EXT_SIZE, so we follow suite and set it too. */
|
||||
obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;
|
||||
|
||||
/* Setting N_SET_MACHTYPE and using N_SET_FLAGS is not performed by
|
||||
the default definition. */
|
||||
if (bfd_get_arch(abfd) == bfd_arch_cris)
|
||||
N_SET_MACHTYPE(*execp, M_CRIS);
|
||||
|
||||
N_SET_FLAGS (*execp, aout_backend_info (abfd)->exec_hdr_flags);
|
||||
|
||||
WRITE_HEADERS (abfd, execp);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* We need our own for these reasons:
|
||||
- Assert that a normal 8, 16 or 32 reloc is output.
|
||||
- Fix what seems to be a weak-bug (perhaps there for valid reasons). */
|
||||
|
||||
static void
|
||||
MY(swap_ext_reloc_out) (abfd, g, natptr)
|
||||
bfd *abfd;
|
||||
arelent *g;
|
||||
struct reloc_ext_external *natptr;
|
||||
{
|
||||
int r_index;
|
||||
int r_extern;
|
||||
unsigned int r_type;
|
||||
unsigned int r_addend;
|
||||
asymbol *sym = *(g->sym_ptr_ptr);
|
||||
asection *output_section = sym->section->output_section;
|
||||
|
||||
PUT_WORD (abfd, g->address, natptr->r_address);
|
||||
|
||||
r_type = (unsigned int) g->howto->type;
|
||||
|
||||
r_addend = g->addend;
|
||||
if ((sym->flags & BSF_SECTION_SYM) != 0)
|
||||
r_addend += (*(g->sym_ptr_ptr))->section->output_section->vma;
|
||||
|
||||
/* If this relocation is relative to a symbol then set the
|
||||
r_index to the symbols index, and the r_extern bit.
|
||||
|
||||
Absolute symbols can come in in two ways, either as an offset
|
||||
from the abs section, or as a symbol which has an abs value.
|
||||
check for that here. */
|
||||
|
||||
if (bfd_is_abs_section (bfd_get_section (sym)))
|
||||
{
|
||||
r_extern = 0;
|
||||
r_index = N_ABS;
|
||||
}
|
||||
else if ((sym->flags & BSF_SECTION_SYM) == 0)
|
||||
{
|
||||
if (bfd_is_und_section (bfd_get_section (sym))
|
||||
/* Remember to check for weak symbols; they count as global. */
|
||||
|| (sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
|
||||
r_extern = 1;
|
||||
else
|
||||
r_extern = 0;
|
||||
r_index = (*(g->sym_ptr_ptr))->KEEPIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Just an ordinary section. */
|
||||
r_extern = 0;
|
||||
r_index = output_section->target_index;
|
||||
}
|
||||
|
||||
/* The relocation type is the same as the canonical ones, but only
|
||||
the first 3 are used: RELOC_8, RELOC_16, RELOC_32.
|
||||
We may change this later, but assert this for the moment. */
|
||||
if (r_type > 2)
|
||||
{
|
||||
(*_bfd_error_handler) (_("%s: Invalid relocation type exported: %d"),
|
||||
bfd_get_filename (abfd), r_type);
|
||||
|
||||
bfd_set_error (bfd_error_wrong_format);
|
||||
}
|
||||
|
||||
/* Now the fun stuff. */
|
||||
natptr->r_index[2] = r_index >> 16;
|
||||
natptr->r_index[1] = r_index >> 8;
|
||||
natptr->r_index[0] = r_index;
|
||||
natptr->r_type[0] =
|
||||
(r_extern ? RELOC_EXT_BITS_EXTERN_LITTLE : 0)
|
||||
| (r_type << RELOC_EXT_BITS_TYPE_SH_LITTLE);
|
||||
|
||||
PUT_WORD (abfd, r_addend, natptr->r_addend);
|
||||
}
|
||||
|
||||
|
||||
/* We need our own to assert that a normal 8, 16 or 32 reloc is input. */
|
||||
|
||||
static void
|
||||
MY(swap_ext_reloc_in) (abfd, bytes, cache_ptr, symbols, symcount)
|
||||
bfd *abfd;
|
||||
struct reloc_ext_external *bytes;
|
||||
arelent *cache_ptr;
|
||||
asymbol **symbols;
|
||||
bfd_size_type symcount;
|
||||
{
|
||||
unsigned int r_index;
|
||||
int r_extern;
|
||||
unsigned int r_type;
|
||||
struct aoutdata *su = &(abfd->tdata.aout_data->a);
|
||||
|
||||
cache_ptr->address = (GET_SWORD (abfd, bytes->r_address));
|
||||
|
||||
/* Now the fun stuff. */
|
||||
r_index = (bytes->r_index[2] << 16)
|
||||
| (bytes->r_index[1] << 8)
|
||||
| bytes->r_index[0];
|
||||
r_extern = (0 != (bytes->r_type[0] & RELOC_EXT_BITS_EXTERN_LITTLE));
|
||||
r_type = ((bytes->r_type[0]) >> RELOC_EXT_BITS_TYPE_SH_LITTLE)
|
||||
& RELOC_EXT_BITS_TYPE_LITTLE;
|
||||
|
||||
if (r_type > 2)
|
||||
{
|
||||
(*_bfd_error_handler) (_("%s: Invalid relocation type imported: %d"),
|
||||
bfd_get_filename (abfd), r_type);
|
||||
|
||||
bfd_set_error(bfd_error_wrong_format);
|
||||
}
|
||||
|
||||
cache_ptr->howto = howto_table_ext + r_type;
|
||||
|
||||
if (r_extern && r_index > symcount)
|
||||
{
|
||||
(*_bfd_error_handler)
|
||||
(_("%s: Bad relocation record imported: %d"),
|
||||
bfd_get_filename (abfd), r_index);
|
||||
|
||||
bfd_set_error (bfd_error_wrong_format);
|
||||
|
||||
/* We continue, so we can catch further errors. */
|
||||
r_extern = 0;
|
||||
r_index = N_ABS;
|
||||
}
|
||||
|
||||
/* Magically uses r_extern, symbols etc. Ugly, but it's what's in the
|
||||
default. */
|
||||
MOVE_ADDRESS (GET_SWORD (abfd, bytes->r_addend));
|
||||
}
|
||||
|
||||
|
||||
/* We use the same as the default, except that we also set
|
||||
"obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;", to avoid changing
|
||||
NAME (aout, set_arch_mach) in aoutx. */
|
||||
|
||||
static boolean
|
||||
MY(set_sizes) (abfd)
|
||||
bfd *abfd;
|
||||
{
|
||||
/* Just as the default in aout-target.h (with some #ifdefs folded)... */
|
||||
|
||||
adata(abfd).page_size = TARGET_PAGE_SIZE;
|
||||
adata(abfd).segment_size = SEGMENT_SIZE;
|
||||
adata(abfd).zmagic_disk_block_size = ZMAGIC_DISK_BLOCK_SIZE;
|
||||
adata(abfd).exec_bytes_size = EXEC_BYTES_SIZE;
|
||||
|
||||
/* ... except for that we have the extended reloc. The alternative
|
||||
would be to add a check on bfd_arch_cris in NAME (aout,
|
||||
set_arch_mach) in aoutx.h, but I don't want to do that since
|
||||
target-specific things should not be added there. */
|
||||
|
||||
obj_reloc_entry_size (abfd) = RELOC_EXT_SIZE;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* eval: (c-set-style "gnu")
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*/
|
|
@ -800,6 +800,10 @@ NAME(aout,machine_type) (arch, machine, unknown)
|
|||
*unknown = false;
|
||||
break;
|
||||
|
||||
case bfd_arch_cris:
|
||||
if (machine == 0 || machine == 255) arch_flags = M_CRIS;
|
||||
break;
|
||||
|
||||
default:
|
||||
arch_flags = M_UNKNOWN;
|
||||
}
|
||||
|
|
|
@ -230,6 +230,7 @@ DESCRIPTION
|
|||
.#define bfd_mach_avr3 3
|
||||
.#define bfd_mach_avr4 4
|
||||
.#define bfd_mach_avr5 5
|
||||
. bfd_arch_cris, {* Axis CRIS *}
|
||||
. bfd_arch_last
|
||||
. };
|
||||
|
||||
|
@ -272,6 +273,7 @@ extern const bfd_arch_info_type bfd_a29k_arch;
|
|||
extern const bfd_arch_info_type bfd_alpha_arch;
|
||||
extern const bfd_arch_info_type bfd_arc_arch;
|
||||
extern const bfd_arch_info_type bfd_arm_arch;
|
||||
extern const bfd_arch_info_type bfd_cris_arch;
|
||||
extern const bfd_arch_info_type bfd_d10v_arch;
|
||||
extern const bfd_arch_info_type bfd_d30v_arch;
|
||||
extern const bfd_arch_info_type bfd_h8300_arch;
|
||||
|
@ -317,6 +319,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
|
|||
&bfd_alpha_arch,
|
||||
&bfd_arc_arch,
|
||||
&bfd_arm_arch,
|
||||
&bfd_cris_arch,
|
||||
&bfd_d10v_arch,
|
||||
&bfd_d30v_arch,
|
||||
&bfd_h8300_arch,
|
||||
|
|
|
@ -1474,6 +1474,7 @@ enum bfd_architecture
|
|||
#define bfd_mach_avr3 3
|
||||
#define bfd_mach_avr4 4
|
||||
#define bfd_mach_avr5 5
|
||||
bfd_arch_cris, /* Axis CRIS */
|
||||
bfd_arch_last
|
||||
};
|
||||
|
||||
|
@ -2565,6 +2566,14 @@ This is the 8 bits low part of an absolute address. */
|
|||
/* Motorola 68HC11 reloc.
|
||||
This is the 3 bits of a value. */
|
||||
BFD_RELOC_M68HC11_3B,
|
||||
|
||||
/* These relocs are only used within the CRIS assembler. They are not
|
||||
(at present) written to any object files. */
|
||||
BFD_RELOC_CRIS_BDISP8,
|
||||
BFD_RELOC_CRIS_UNSIGNED_5,
|
||||
BFD_RELOC_CRIS_SIGNED_6,
|
||||
BFD_RELOC_CRIS_UNSIGNED_6,
|
||||
BFD_RELOC_CRIS_UNSIGNED_4,
|
||||
BFD_RELOC_UNUSED };
|
||||
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
|
||||
reloc_howto_type *
|
||||
|
|
|
@ -207,6 +207,12 @@ case "${targ}" in
|
|||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
cris-*-*)
|
||||
targ_defvec=cris_aout_vec
|
||||
targ_selvecs="bfd_elf32_cris_vec ieee_vec"
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
d10v-*-*)
|
||||
targ_defvec=bfd_elf32_d10v_vec
|
||||
;;
|
||||
|
|
395
bfd/configure
vendored
395
bfd/configure
vendored
File diff suppressed because it is too large
Load diff
|
@ -488,6 +488,7 @@ do
|
|||
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elf32.lo $elf ecofflink.lo" ;;
|
||||
bfd_elf64_bigmips_vec) tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
|
||||
target64=true ;;
|
||||
bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
|
||||
bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
|
||||
|
@ -527,6 +528,7 @@ do
|
|||
target64=true ;;
|
||||
cisco_core_big_vec) tb="$tb cisco-core.lo" ;;
|
||||
cisco_core_little_vec) tb="$tb cisco-core.lo" ;;
|
||||
cris_aout_vec) tb="$tb aout-cris.lo" ;;
|
||||
demo_64_vec) tb="$tb demo64.lo aout64.lo"
|
||||
target64=true ;;
|
||||
ecoff_big_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;;
|
||||
|
|
57
bfd/cpu-cris.c
Normal file
57
bfd/cpu-cris.c
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* BFD support for the Axis CRIS architecture.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Contributed by Axis Communications AB.
|
||||
Written by Hans-Peter Nilsson.
|
||||
|
||||
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. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
|
||||
const bfd_arch_info_type
|
||||
bfd_cris_arch =
|
||||
{
|
||||
32, /* There's 32 bits_per_word. */
|
||||
32, /* There's 32 bits_per_address. */
|
||||
8, /* There's 8 bits_per_byte. */
|
||||
bfd_arch_cris, /* One of enum bfd_architecture, defined
|
||||
in archures.c and provided in
|
||||
generated header files. */
|
||||
0xff, /* Only 1 machine, but #255 for
|
||||
historical reasons. */
|
||||
"cris", /* The arch_name. */
|
||||
"cris", /* The printable name is the same. */
|
||||
1, /* Section alignment power; each section
|
||||
is aligned to (only) 2^1 bytes. */
|
||||
true, /* This is the default "machine", since
|
||||
there's only one. */
|
||||
bfd_default_compatible, /* A default function for testing
|
||||
"machine" compatibility of two
|
||||
bfd_arch_info_type. */
|
||||
bfd_default_scan, /* Check if an bfd_arch_info_type is a
|
||||
match. */
|
||||
NULL /* Pointer to next bfd_arch_info_type in
|
||||
the same family. */
|
||||
};
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* eval: (c-set-style "gnu")
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*/
|
|
@ -3361,6 +3361,9 @@ prep_headers (abfd)
|
|||
case bfd_arch_pj:
|
||||
i_ehdrp->e_machine = EM_PJ;
|
||||
break;
|
||||
case bfd_arch_cris:
|
||||
i_ehdrp->e_machine = EM_CRIS;
|
||||
break;
|
||||
/* also note that EM_M32, AT&T WE32100 is unknown to bfd */
|
||||
default:
|
||||
i_ehdrp->e_machine = EM_NONE;
|
||||
|
|
601
bfd/elf32-cris.c
Normal file
601
bfd/elf32-cris.c
Normal file
|
@ -0,0 +1,601 @@
|
|||
/* CRIS-specific support for 32-bit ELF.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Contributed by Axis Communications AB.
|
||||
Written by Hans-Peter Nilsson, based on elf32-fr30.c
|
||||
|
||||
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. */
|
||||
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
#include "elf-bfd.h"
|
||||
#include "elf/cris.h"
|
||||
|
||||
/* Forward declarations. */
|
||||
static reloc_howto_type * cris_reloc_type_lookup
|
||||
PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
|
||||
|
||||
static void cris_info_to_howto_rela
|
||||
PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
|
||||
|
||||
static boolean cris_elf_relocate_section
|
||||
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
|
||||
Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
|
||||
|
||||
static bfd_reloc_status_type cris_final_link_relocate
|
||||
PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *,
|
||||
Elf_Internal_Rela *, bfd_vma));
|
||||
|
||||
static boolean cris_elf_gc_sweep_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, asection *,
|
||||
const Elf_Internal_Rela *));
|
||||
|
||||
static asection * cris_elf_gc_mark_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Rela *,
|
||||
struct elf_link_hash_entry *, Elf_Internal_Sym *));
|
||||
|
||||
static reloc_howto_type cris_elf_howto_table [] =
|
||||
{
|
||||
/* This reloc does nothing. */
|
||||
HOWTO (R_CRIS_NONE, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_NONE", /* name */
|
||||
false, /* partial_inplace */
|
||||
0, /* src_mask */
|
||||
0, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* An 8 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_8, /* type */
|
||||
0, /* rightshift */
|
||||
0, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
8, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_8", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x0000, /* src_mask */
|
||||
0x00ff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* A 16 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_16, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_16", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x00000000, /* src_mask */
|
||||
0x0000ffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* A 32 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_32, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_32", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x00000000, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* An 8 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_8_PCREL, /* type */
|
||||
0, /* rightshift */
|
||||
0, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
8, /* bitsize */
|
||||
true, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_8_PCREL", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x0000, /* src_mask */
|
||||
0x00ff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* A 16 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_16_PCREL, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
true, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_16", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x00000000, /* src_mask */
|
||||
0x0000ffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* A 32 bit absolute relocation. */
|
||||
HOWTO (R_CRIS_32_PCREL, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
32, /* bitsize */
|
||||
true, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
bfd_elf_generic_reloc, /* special_function */
|
||||
"R_CRIS_32", /* name */
|
||||
false, /* partial_inplace */
|
||||
0x00000000, /* src_mask */
|
||||
0xffffffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* GNU extension to record C++ vtable hierarchy */
|
||||
HOWTO (R_CRIS_GNU_VTINHERIT, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
0, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_dont, /* complain_on_overflow */
|
||||
NULL, /* special_function */
|
||||
"R_CRIS_GNU_VTINHERIT", /* name */
|
||||
false, /* partial_inplace */
|
||||
0, /* src_mask */
|
||||
0, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* GNU extension to record C++ vtable member usage */
|
||||
HOWTO (R_CRIS_GNU_VTENTRY, /* type */
|
||||
0, /* rightshift */
|
||||
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
0, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_dont, /* complain_on_overflow */
|
||||
_bfd_elf_rel_vtable_reloc_fn, /* special_function */
|
||||
"R_CRIS_GNU_VTENTRY", /* name */
|
||||
false, /* partial_inplace */
|
||||
0, /* src_mask */
|
||||
0, /* dst_mask */
|
||||
false) /* pcrel_offset */
|
||||
};
|
||||
|
||||
/* Map BFD reloc types to CRIS ELF reloc types. */
|
||||
|
||||
struct cris_reloc_map
|
||||
{
|
||||
bfd_reloc_code_real_type bfd_reloc_val;
|
||||
unsigned int cris_reloc_val;
|
||||
};
|
||||
|
||||
static const struct cris_reloc_map cris_reloc_map [] =
|
||||
{
|
||||
{ BFD_RELOC_NONE, R_CRIS_NONE },
|
||||
{ BFD_RELOC_8, R_CRIS_8 },
|
||||
{ BFD_RELOC_16, R_CRIS_16 },
|
||||
{ BFD_RELOC_32, R_CRIS_32 },
|
||||
{ BFD_RELOC_8_PCREL, R_CRIS_8_PCREL },
|
||||
{ BFD_RELOC_16_PCREL, R_CRIS_16_PCREL },
|
||||
{ BFD_RELOC_32_PCREL, R_CRIS_32_PCREL },
|
||||
{ BFD_RELOC_VTABLE_INHERIT, R_CRIS_GNU_VTINHERIT },
|
||||
{ BFD_RELOC_VTABLE_ENTRY, R_CRIS_GNU_VTENTRY }
|
||||
};
|
||||
|
||||
static reloc_howto_type *
|
||||
cris_reloc_type_lookup (abfd, code)
|
||||
bfd * abfd ATTRIBUTE_UNUSED;
|
||||
bfd_reloc_code_real_type code;
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = sizeof (cris_reloc_map) / sizeof (cris_reloc_map[0]);
|
||||
--i;)
|
||||
if (cris_reloc_map [i].bfd_reloc_val == code)
|
||||
return & cris_elf_howto_table [cris_reloc_map[i].cris_reloc_val];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Set the howto pointer for an CRIS ELF reloc. */
|
||||
|
||||
static void
|
||||
cris_info_to_howto_rela (abfd, cache_ptr, dst)
|
||||
bfd * abfd ATTRIBUTE_UNUSED;
|
||||
arelent * cache_ptr;
|
||||
Elf32_Internal_Rela * dst;
|
||||
{
|
||||
unsigned int r_type;
|
||||
|
||||
r_type = ELF32_R_TYPE (dst->r_info);
|
||||
BFD_ASSERT (r_type < (unsigned int) R_CRIS_max);
|
||||
cache_ptr->howto = & cris_elf_howto_table [r_type];
|
||||
}
|
||||
|
||||
/* Perform a single relocation. By default we use the standard BFD
|
||||
routines, but we might have to do a few relocs ourselves in the future. */
|
||||
|
||||
static bfd_reloc_status_type
|
||||
cris_final_link_relocate (howto, input_bfd, input_section, contents, rel,
|
||||
relocation)
|
||||
reloc_howto_type * howto;
|
||||
bfd * input_bfd;
|
||||
asection * input_section;
|
||||
bfd_byte * contents;
|
||||
Elf_Internal_Rela * rel;
|
||||
bfd_vma relocation;
|
||||
{
|
||||
bfd_reloc_status_type r
|
||||
= _bfd_final_link_relocate (howto, input_bfd, input_section,
|
||||
contents, rel->r_offset,
|
||||
relocation, rel->r_addend);
|
||||
return r;
|
||||
}
|
||||
|
||||
/* Relocate an CRIS ELF section. See elf32-fr30.c, from where this was
|
||||
copied, for further comments. */
|
||||
|
||||
static boolean
|
||||
cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
contents, relocs, local_syms, local_sections)
|
||||
bfd * output_bfd ATTRIBUTE_UNUSED;
|
||||
struct bfd_link_info * info;
|
||||
bfd * input_bfd;
|
||||
asection * input_section;
|
||||
bfd_byte * contents;
|
||||
Elf_Internal_Rela * relocs;
|
||||
Elf_Internal_Sym * local_syms;
|
||||
asection ** local_sections;
|
||||
{
|
||||
Elf_Internal_Shdr * symtab_hdr;
|
||||
struct elf_link_hash_entry ** sym_hashes;
|
||||
Elf_Internal_Rela * rel;
|
||||
Elf_Internal_Rela * relend;
|
||||
|
||||
symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
|
||||
sym_hashes = elf_sym_hashes (input_bfd);
|
||||
relend = relocs + input_section->reloc_count;
|
||||
|
||||
/* It seems this can happen with erroneous or unsupported input (mixing
|
||||
a.out and elf in an archive, for example.) */
|
||||
if (sym_hashes == NULL)
|
||||
return false;
|
||||
|
||||
for (rel = relocs; rel < relend; rel ++)
|
||||
{
|
||||
reloc_howto_type * howto;
|
||||
unsigned long r_symndx;
|
||||
Elf_Internal_Sym * sym;
|
||||
asection * sec;
|
||||
struct elf_link_hash_entry * h;
|
||||
bfd_vma relocation;
|
||||
bfd_reloc_status_type r;
|
||||
const char * name = NULL;
|
||||
int r_type;
|
||||
|
||||
r_type = ELF32_R_TYPE (rel->r_info);
|
||||
|
||||
if ( r_type == R_CRIS_GNU_VTINHERIT
|
||||
|| r_type == R_CRIS_GNU_VTENTRY)
|
||||
continue;
|
||||
|
||||
r_symndx = ELF32_R_SYM (rel->r_info);
|
||||
|
||||
if (info->relocateable)
|
||||
{
|
||||
/* This is a relocateable link. We don't have to change
|
||||
anything, unless the reloc is against a section symbol,
|
||||
in which case we have to adjust according to where the
|
||||
section symbol winds up in the output section. */
|
||||
if (r_symndx < symtab_hdr->sh_info)
|
||||
{
|
||||
sym = local_syms + r_symndx;
|
||||
|
||||
if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
|
||||
{
|
||||
sec = local_sections [r_symndx];
|
||||
rel->r_addend += sec->output_offset + sym->st_value;
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
/* This is a final link. */
|
||||
howto = cris_elf_howto_table + ELF32_R_TYPE (rel->r_info);
|
||||
h = NULL;
|
||||
sym = NULL;
|
||||
sec = NULL;
|
||||
|
||||
if (r_symndx < symtab_hdr->sh_info)
|
||||
{
|
||||
sym = local_syms + r_symndx;
|
||||
sec = local_sections [r_symndx];
|
||||
relocation = (sec->output_section->vma
|
||||
+ sec->output_offset
|
||||
+ sym->st_value);
|
||||
|
||||
name = bfd_elf_string_from_elf_section
|
||||
(input_bfd, symtab_hdr->sh_link, sym->st_name);
|
||||
name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
|
||||
#if 0
|
||||
fprintf (stderr, "local: sec: %s, sym: %s (%d), value: %x + %x + %x addend %x\n",
|
||||
sec->name, name, sym->st_name,
|
||||
sec->output_section->vma, sec->output_offset,
|
||||
sym->st_value, rel->r_addend);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
h = sym_hashes [r_symndx - symtab_hdr->sh_info];
|
||||
|
||||
while (h->root.type == bfd_link_hash_indirect
|
||||
|| h->root.type == bfd_link_hash_warning)
|
||||
h = (struct elf_link_hash_entry *) h->root.u.i.link;
|
||||
|
||||
name = h->root.root.string;
|
||||
|
||||
if (h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
{
|
||||
sec = h->root.u.def.section;
|
||||
relocation = (h->root.u.def.value
|
||||
+ sec->output_section->vma
|
||||
+ sec->output_offset);
|
||||
#if 0
|
||||
fprintf (stderr,
|
||||
"defined: sec: %s, name: %s, value: %x + %x + %x gives: %x\n",
|
||||
sec->name, name, h->root.u.def.value,
|
||||
sec->output_section->vma, sec->output_offset, relocation);
|
||||
#endif
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
{
|
||||
#if 0
|
||||
fprintf (stderr, "undefined: sec: %s, name: %s\n",
|
||||
sec->name, name);
|
||||
#endif
|
||||
relocation = 0;
|
||||
}
|
||||
else if (info->shared
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (! ((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset, true)))
|
||||
return false;
|
||||
#if 0
|
||||
fprintf (stderr, "unknown: name: %s\n", name);
|
||||
#endif
|
||||
relocation = 0;
|
||||
}
|
||||
}
|
||||
|
||||
r = cris_final_link_relocate (howto, input_bfd, input_section,
|
||||
contents, rel, relocation);
|
||||
|
||||
if (r != bfd_reloc_ok)
|
||||
{
|
||||
const char * msg = (const char *) NULL;
|
||||
|
||||
switch (r)
|
||||
{
|
||||
case bfd_reloc_overflow:
|
||||
r = info->callbacks->reloc_overflow
|
||||
(info, name, howto->name, (bfd_vma) 0,
|
||||
input_bfd, input_section, rel->r_offset);
|
||||
break;
|
||||
|
||||
case bfd_reloc_undefined:
|
||||
r = info->callbacks->undefined_symbol
|
||||
(info, name, input_bfd, input_section, rel->r_offset,
|
||||
true);
|
||||
break;
|
||||
|
||||
case bfd_reloc_outofrange:
|
||||
msg = _("internal error: out of range error");
|
||||
break;
|
||||
|
||||
case bfd_reloc_notsupported:
|
||||
msg = _("internal error: unsupported relocation error");
|
||||
break;
|
||||
|
||||
case bfd_reloc_dangerous:
|
||||
msg = _("internal error: dangerous relocation");
|
||||
break;
|
||||
|
||||
default:
|
||||
msg = _("internal error: unknown error");
|
||||
break;
|
||||
}
|
||||
|
||||
if (msg)
|
||||
r = info->callbacks->warning
|
||||
(info, msg, name, input_bfd, input_section, rel->r_offset);
|
||||
|
||||
if (! r)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Return the section that should be marked against GC for a given
|
||||
relocation. */
|
||||
|
||||
static asection *
|
||||
cris_elf_gc_mark_hook (abfd, info, rel, h, sym)
|
||||
bfd * abfd;
|
||||
struct bfd_link_info * info ATTRIBUTE_UNUSED;
|
||||
Elf_Internal_Rela * rel;
|
||||
struct elf_link_hash_entry * h;
|
||||
Elf_Internal_Sym * sym;
|
||||
{
|
||||
if (h != NULL)
|
||||
{
|
||||
switch (ELF32_R_TYPE (rel->r_info))
|
||||
{
|
||||
case R_CRIS_GNU_VTINHERIT:
|
||||
case R_CRIS_GNU_VTENTRY:
|
||||
break;
|
||||
|
||||
default:
|
||||
switch (h->root.type)
|
||||
{
|
||||
case bfd_link_hash_defined:
|
||||
case bfd_link_hash_defweak:
|
||||
return h->root.u.def.section;
|
||||
|
||||
case bfd_link_hash_common:
|
||||
return h->root.u.c.p->section;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(elf_bad_symtab (abfd)
|
||||
&& ELF_ST_BIND (sym->st_info) != STB_LOCAL)
|
||||
&& ! ((sym->st_shndx <= 0 || sym->st_shndx >= SHN_LORESERVE)
|
||||
&& sym->st_shndx != SHN_COMMON))
|
||||
{
|
||||
return bfd_section_from_elf_index (abfd, sym->st_shndx);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Update the got entry reference counts for the section being removed. */
|
||||
|
||||
static boolean
|
||||
cris_elf_gc_sweep_hook (abfd, info, sec, relocs)
|
||||
bfd * abfd ATTRIBUTE_UNUSED;
|
||||
struct bfd_link_info * info ATTRIBUTE_UNUSED;
|
||||
asection * sec ATTRIBUTE_UNUSED;
|
||||
const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED;
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Look through the relocs for a section during the first phase.
|
||||
Since we don't do .gots or .plts, we just need to consider the
|
||||
virtual table relocs for gc. */
|
||||
|
||||
static boolean
|
||||
cris_elf_check_relocs (abfd, info, sec, relocs)
|
||||
bfd *abfd;
|
||||
struct bfd_link_info *info;
|
||||
asection *sec;
|
||||
const Elf_Internal_Rela *relocs;
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
|
||||
const Elf_Internal_Rela *rel;
|
||||
const Elf_Internal_Rela *rel_end;
|
||||
|
||||
if (info->relocateable)
|
||||
return true;
|
||||
|
||||
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
|
||||
sym_hashes = elf_sym_hashes (abfd);
|
||||
sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof(Elf32_External_Sym);
|
||||
if (!elf_bad_symtab (abfd))
|
||||
sym_hashes_end -= symtab_hdr->sh_info;
|
||||
|
||||
rel_end = relocs + sec->reloc_count;
|
||||
for (rel = relocs; rel < rel_end; rel++)
|
||||
{
|
||||
struct elf_link_hash_entry *h;
|
||||
unsigned long r_symndx;
|
||||
|
||||
r_symndx = ELF32_R_SYM (rel->r_info);
|
||||
if (r_symndx < symtab_hdr->sh_info)
|
||||
h = NULL;
|
||||
else
|
||||
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
|
||||
|
||||
switch (ELF32_R_TYPE (rel->r_info))
|
||||
{
|
||||
/* This relocation describes the C++ object vtable hierarchy.
|
||||
Reconstruct it for later use during GC. */
|
||||
case R_CRIS_GNU_VTINHERIT:
|
||||
if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
|
||||
return false;
|
||||
break;
|
||||
|
||||
/* This relocation describes which C++ vtable entries are actually
|
||||
used. Record for later use during GC. */
|
||||
case R_CRIS_GNU_VTENTRY:
|
||||
if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#define ELF_ARCH bfd_arch_cris
|
||||
#define ELF_MACHINE_CODE EM_CRIS
|
||||
#define ELF_MAXPAGESIZE 0x2000
|
||||
|
||||
#define TARGET_LITTLE_SYM bfd_elf32_cris_vec
|
||||
#define TARGET_LITTLE_NAME "elf32-cris"
|
||||
|
||||
/* For the time being, we have a leading underscore. Perhaps change to 0
|
||||
later, when
|
||||
1) a.out isn't as dominating, and we can forget about multiformat links
|
||||
and old assembly code.
|
||||
2) there's an official solution to the symbol vs. register duality
|
||||
problem; perhaps a % register prefix, optionally enforced. */
|
||||
#define elf_symbol_leading_char '_'
|
||||
|
||||
#define elf_info_to_howto_rel NULL
|
||||
#define elf_info_to_howto cris_info_to_howto_rela
|
||||
#define elf_backend_relocate_section cris_elf_relocate_section
|
||||
#define elf_backend_gc_mark_hook cris_elf_gc_mark_hook
|
||||
#define elf_backend_gc_sweep_hook cris_elf_gc_sweep_hook
|
||||
#define elf_backend_check_relocs cris_elf_check_relocs
|
||||
|
||||
#define elf_backend_can_gc_sections 1
|
||||
|
||||
#define bfd_elf32_bfd_reloc_type_lookup cris_reloc_type_lookup
|
||||
|
||||
/* Later, we my want to optimize RELA entries into REL entries for dynamic
|
||||
linking and libraries (if it's a win of any significance). Until then,
|
||||
take the easy route. */
|
||||
#define elf_backend_may_use_rel_p 0
|
||||
#define elf_backend_may_use_rela_p 1
|
||||
|
||||
#include "elf32-target.h"
|
|
@ -245,7 +245,8 @@ enum machine_type {
|
|||
M_SPARCLET_5 = 211, /* 0xd3, reserved */
|
||||
M_SPARCLET_6 = 227, /* 0xe3, reserved */
|
||||
/* M_SPARCLET_7 = 243 / * 0xf3, reserved */
|
||||
M_SPARCLITE_LE = 243
|
||||
M_SPARCLITE_LE = 243,
|
||||
M_CRIS = 255 /* Axis CRIS binary. */
|
||||
};
|
||||
|
||||
#define N_DYNAMIC(exec) ((exec).a_info & 0x80000000)
|
||||
|
|
|
@ -968,6 +968,11 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
|
|||
"BFD_RELOC_M68HC11_HI8",
|
||||
"BFD_RELOC_M68HC11_LO8",
|
||||
"BFD_RELOC_M68HC11_3B",
|
||||
"BFD_RELOC_CRIS_BDISP8",
|
||||
"BFD_RELOC_CRIS_UNSIGNED_5",
|
||||
"BFD_RELOC_CRIS_SIGNED_6",
|
||||
"BFD_RELOC_CRIS_UNSIGNED_6",
|
||||
"BFD_RELOC_CRIS_UNSIGNED_4",
|
||||
"@@overflow: BFD_RELOC_UNUSED@@",
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
aix386-core.c
|
||||
aout0.c
|
||||
aout32.c
|
||||
aout64.c
|
||||
aout-adobe.c
|
||||
aout-arm.c
|
||||
aoutf1.h
|
||||
aout-cris.c
|
||||
aout-ns32k.c
|
||||
aout-sparcle.c
|
||||
aout-target.h
|
||||
aout-tic30.c
|
||||
aout0.c
|
||||
aout32.c
|
||||
aout64.c
|
||||
aoutf1.h
|
||||
aoutx.h
|
||||
archive.c
|
||||
archures.c
|
||||
|
@ -21,21 +22,17 @@ cf-i386lynx.c
|
|||
cf-m68klynx.c
|
||||
cf-sparclynx.c
|
||||
cisco-core.c
|
||||
coff64-rs6000.c
|
||||
coff-a29k.c
|
||||
coff-alpha.c
|
||||
coff-apollo.c
|
||||
coff-arm.c
|
||||
coff-aux.c
|
||||
coffcode.h
|
||||
coffgen.c
|
||||
coff-go32.c
|
||||
coff-h8300.c
|
||||
coff-h8500.c
|
||||
coff-i386.c
|
||||
coff-i860.c
|
||||
coff-i960.c
|
||||
cofflink.c
|
||||
coff-m68k.c
|
||||
coff-m88k.c
|
||||
coff-mips.c
|
||||
|
@ -45,7 +42,6 @@ coff-sh.c
|
|||
coff-sparc.c
|
||||
coff-stgo32.c
|
||||
coff-svm68k.c
|
||||
coffswap.h
|
||||
coff-tic30.c
|
||||
coff-tic54x.c
|
||||
coff-tic80.c
|
||||
|
@ -53,12 +49,18 @@ coff-u68k.c
|
|||
coff-w65.c
|
||||
coff-we32k.c
|
||||
coff-z8k.c
|
||||
coff64-rs6000.c
|
||||
coffcode.h
|
||||
coffgen.c
|
||||
cofflink.c
|
||||
coffswap.h
|
||||
corefile.c
|
||||
cpu-a29k.c
|
||||
cpu-alpha.c
|
||||
cpu-arc.c
|
||||
cpu-arm.c
|
||||
cpu-avr.c
|
||||
cpu-cris.c
|
||||
cpu-d10v.c
|
||||
cpu-d30v.c
|
||||
cpu-fr30.c
|
||||
|
@ -101,10 +103,15 @@ ecofflink.c
|
|||
ecoffswap.h
|
||||
efi-app-ia32.c
|
||||
efi-app-ia64.c
|
||||
elf-bfd.h
|
||||
elf-hppa.h
|
||||
elf-m10200.c
|
||||
elf-m10300.c
|
||||
elf.c
|
||||
elf32-arc.c
|
||||
elf32-arm.h
|
||||
elf32-avr.c
|
||||
elf32.c
|
||||
elf32-cris.c
|
||||
elf32-d10v.c
|
||||
elf32-d30v.c
|
||||
elf32-fr30.c
|
||||
|
@ -127,25 +134,21 @@ elf32-ppc.c
|
|||
elf32-sh.c
|
||||
elf32-sparc.c
|
||||
elf32-v850.c
|
||||
elf32.c
|
||||
elf64-alpha.c
|
||||
elf64.c
|
||||
elf64-gen.c
|
||||
elf64-hppa.c
|
||||
elf64-hppa.h
|
||||
elf64-ia64.c
|
||||
elf64-mips.c
|
||||
elf64-sparc.c
|
||||
elf64.c
|
||||
elfarm-nabi.c
|
||||
elfarm-oabi.c
|
||||
elf-bfd.h
|
||||
elf.c
|
||||
elfcode.h
|
||||
elfcore.h
|
||||
elf-hppa.h
|
||||
elflink.c
|
||||
elflink.h
|
||||
elf-m10200.c
|
||||
elf-m10300.c
|
||||
epoc-pe-arm.c
|
||||
epoc-pei-arm.c
|
||||
format.c
|
||||
|
@ -190,16 +193,16 @@ m88kmach3.c
|
|||
mipsbsd.c
|
||||
netbsd.h
|
||||
newsos3.c
|
||||
nlm-target.h
|
||||
nlm.c
|
||||
nlm32-alpha.c
|
||||
nlm32.c
|
||||
nlm32-i386.c
|
||||
nlm32-ppc.c
|
||||
nlm32-sparc.c
|
||||
nlm32.c
|
||||
nlm64.c
|
||||
nlm.c
|
||||
nlmcode.h
|
||||
nlmswap.h
|
||||
nlm-target.h
|
||||
ns32k.h
|
||||
ns32knetbsd.c
|
||||
oasys.c
|
||||
|
@ -208,21 +211,21 @@ osf-core.c
|
|||
pc532-mach.c
|
||||
pe-arm.c
|
||||
pe-i386.c
|
||||
pe-mcore.c
|
||||
pe-mips.c
|
||||
pe-ppc.c
|
||||
pe-sh.c
|
||||
pei-arm.c
|
||||
peicode.h
|
||||
peigen.c
|
||||
pei-i386.c
|
||||
pei-mcore.c
|
||||
pei-mips.c
|
||||
pei-ppc.c
|
||||
pei-sh.c
|
||||
pe-mcore.c
|
||||
pe-mips.c
|
||||
pe-ppc.c
|
||||
pe-sh.c
|
||||
peicode.h
|
||||
peigen.c
|
||||
ppcboot.c
|
||||
reloc16.c
|
||||
reloc.c
|
||||
reloc16.c
|
||||
riscix.c
|
||||
sco5-core.c
|
||||
section.c
|
||||
|
@ -232,8 +235,8 @@ sparclinux.c
|
|||
sparclynx.c
|
||||
sparcnetbsd.c
|
||||
srec.c
|
||||
stabs.c
|
||||
stab-syms.c
|
||||
stabs.c
|
||||
sunos.c
|
||||
syms.c
|
||||
targets.c
|
||||
|
@ -241,11 +244,11 @@ tekhex.c
|
|||
trad-core.c
|
||||
vaxnetbsd.c
|
||||
versados.c
|
||||
vms.c
|
||||
vms-gsd.c
|
||||
vms.h
|
||||
vms-hdr.c
|
||||
vms-misc.c
|
||||
vms-tir.c
|
||||
xcofflink.c
|
||||
vms.c
|
||||
vms.h
|
||||
xcoff-target.h
|
||||
xcofflink.c
|
||||
|
|
468
bfd/po/bfd.pot
468
bfd/po/bfd.pot
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2000-07-18 11:57-0700\n"
|
||||
"POT-Creation-Date: 2000-07-20 16:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -19,22 +19,37 @@ msgstr ""
|
|||
msgid "%s: Unknown section type in a.out.adobe file: %x\n"
|
||||
msgstr ""
|
||||
|
||||
#: aoutx.h:1254 aoutx.h:1668
|
||||
#: aout-cris.c:196
|
||||
#, c-format
|
||||
msgid "%s: Invalid relocation type exported: %d"
|
||||
msgstr ""
|
||||
|
||||
#: aout-cris.c:241
|
||||
#, c-format
|
||||
msgid "%s: Invalid relocation type imported: %d"
|
||||
msgstr ""
|
||||
|
||||
#: aout-cris.c:252
|
||||
#, c-format
|
||||
msgid "%s: Bad relocation record imported: %d"
|
||||
msgstr ""
|
||||
|
||||
#: aoutx.h:1258 aoutx.h:1672
|
||||
#, c-format
|
||||
msgid "%s: can not represent section `%s' in a.out object file format"
|
||||
msgstr ""
|
||||
|
||||
#: aoutx.h:1638
|
||||
#: aoutx.h:1642
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s: can not represent section for symbol `%s' in a.out object file format"
|
||||
msgstr ""
|
||||
|
||||
#: aoutx.h:1640
|
||||
#: aoutx.h:1644
|
||||
msgid "*unknown*"
|
||||
msgstr ""
|
||||
|
||||
#: aoutx.h:3687
|
||||
#: aoutx.h:3691
|
||||
#, c-format
|
||||
msgid "%s: relocateable link from %s to %s not supported"
|
||||
msgstr ""
|
||||
|
@ -176,7 +191,7 @@ msgstr ""
|
|||
msgid "GP relative relocation used when GP not defined"
|
||||
msgstr ""
|
||||
|
||||
#: coff-alpha.c:1486 elf64-alpha.c:3993
|
||||
#: coff-alpha.c:1486 elf64-alpha.c:3994
|
||||
msgid "using multiple gp values"
|
||||
msgstr ""
|
||||
|
||||
|
@ -311,75 +326,10 @@ msgstr ""
|
|||
msgid "Warning: Clearing the interworking flag of %s due to outside request"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:2101
|
||||
#, c-format
|
||||
msgid "Unrecognized TI COFF target id '0x%x'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4121
|
||||
#, c-format
|
||||
msgid "%s: warning: illegal symbol index %ld in line numbers"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4135
|
||||
#, c-format
|
||||
msgid "%s: warning: duplicate line number information for `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4495
|
||||
#, c-format
|
||||
msgid "%s: Unrecognized storage class %d for %s symbol `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4626
|
||||
#, c-format
|
||||
msgid "warning: %s: local symbol `%s' has no section"
|
||||
msgstr ""
|
||||
|
||||
#: coff-tic54x.c:377 coffcode.h:4739
|
||||
#, c-format
|
||||
msgid "%s: warning: illegal symbol index %ld in relocs"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4777
|
||||
#, c-format
|
||||
msgid "%s: illegal relocation type %d at address 0x%lx"
|
||||
msgstr ""
|
||||
|
||||
#: coffgen.c:1635
|
||||
#, c-format
|
||||
msgid "%s: bad string table size %lu"
|
||||
msgstr ""
|
||||
|
||||
#: coffgen.c:2098
|
||||
#, c-format
|
||||
msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld"
|
||||
msgstr ""
|
||||
|
||||
#: coff-i960.c:136 coff-i960.c:485
|
||||
msgid "uncertain calling convention for non-COFF symbol"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:526 elflink.h:1567
|
||||
#, c-format
|
||||
msgid "Warning: type of symbol `%s' changed from %d to %d in %s"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2288
|
||||
#, c-format
|
||||
msgid "%s: relocs in section `%s', but it has no contents"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2627 coffswap.h:897
|
||||
#, c-format
|
||||
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2636 coffswap.h:883
|
||||
#, c-format
|
||||
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
|
||||
msgstr ""
|
||||
|
||||
#: coff-mips.c:875 elf32-mips.c:1416
|
||||
msgid "GP relative relocation when _gp not defined"
|
||||
msgstr ""
|
||||
|
@ -403,11 +353,76 @@ msgstr ""
|
|||
msgid "Unrecognized reloc type 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: coff-tic54x.c:377 coffcode.h:4739
|
||||
#, c-format
|
||||
msgid "%s: warning: illegal symbol index %ld in relocs"
|
||||
msgstr ""
|
||||
|
||||
#: coff-w65.c:383
|
||||
#, c-format
|
||||
msgid "ignoring reloc %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:2101
|
||||
#, c-format
|
||||
msgid "Unrecognized TI COFF target id '0x%x'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4121
|
||||
#, c-format
|
||||
msgid "%s: warning: illegal symbol index %ld in line numbers"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4135
|
||||
#, c-format
|
||||
msgid "%s: warning: duplicate line number information for `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4495
|
||||
#, c-format
|
||||
msgid "%s: Unrecognized storage class %d for %s symbol `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4626
|
||||
#, c-format
|
||||
msgid "warning: %s: local symbol `%s' has no section"
|
||||
msgstr ""
|
||||
|
||||
#: coffcode.h:4777
|
||||
#, c-format
|
||||
msgid "%s: illegal relocation type %d at address 0x%lx"
|
||||
msgstr ""
|
||||
|
||||
#: coffgen.c:1635
|
||||
#, c-format
|
||||
msgid "%s: bad string table size %lu"
|
||||
msgstr ""
|
||||
|
||||
#: coffgen.c:2098
|
||||
#, c-format
|
||||
msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:526 elflink.h:1575
|
||||
#, c-format
|
||||
msgid "Warning: type of symbol `%s' changed from %d to %d in %s"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2288
|
||||
#, c-format
|
||||
msgid "%s: relocs in section `%s', but it has no contents"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2627 coffswap.h:897
|
||||
#, c-format
|
||||
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
|
||||
msgstr ""
|
||||
|
||||
#: cofflink.c:2636 coffswap.h:883
|
||||
#, c-format
|
||||
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
|
||||
msgstr ""
|
||||
|
||||
#: dwarf2.c:432
|
||||
msgid "Dwarf Error: Can't find .debug_abbrev section."
|
||||
msgstr ""
|
||||
|
@ -524,30 +539,22 @@ msgid ""
|
|||
" Type: %s"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-arm.h:1188
|
||||
#, c-format
|
||||
msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: elf32-arm.h:1377
|
||||
#, c-format
|
||||
msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: elf-hppa.h:1336 elf-hppa.h:1369 elf32-arm.h:1825 elf32-i386.c:1418
|
||||
#: elf32-ppc.c:3082
|
||||
#: elf-hppa.h:1336 elf-hppa.h:1369 elf32-arm.h:1825 elf32-i386.c:1419
|
||||
#: elf32-ppc.c:3083
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s: warning: unresolvable relocation against symbol `%s' from %s section"
|
||||
msgstr ""
|
||||
|
||||
#: elf-m10200.c:455 elf-m10300.c:670 elf32-arm.h:1894 elf32-avr.c:844
|
||||
#: elf32-d10v.c:479 elf32-fr30.c:651 elf32-m32r.c:1265 elf32-v850.c:1677
|
||||
#: elf32-cris.c:423 elf32-d10v.c:479 elf32-fr30.c:651 elf32-m32r.c:1265
|
||||
#: elf32-v850.c:1677
|
||||
msgid "internal error: out of range error"
|
||||
msgstr ""
|
||||
|
||||
#: elf-m10200.c:459 elf-m10300.c:674 elf32-arm.h:1898 elf32-avr.c:848
|
||||
#: elf32-d10v.c:483 elf32-fr30.c:655 elf32-m32r.c:1269 elf32-v850.c:1681
|
||||
#: elf32-cris.c:427 elf32-d10v.c:483 elf32-fr30.c:655 elf32-m32r.c:1269
|
||||
#: elf32-v850.c:1681
|
||||
msgid "internal error: unsupported relocation error"
|
||||
msgstr ""
|
||||
|
||||
|
@ -557,10 +564,114 @@ msgid "internal error: dangerous error"
|
|||
msgstr ""
|
||||
|
||||
#: elf-m10200.c:467 elf-m10300.c:682 elf32-arm.h:1906 elf32-avr.c:856
|
||||
#: elf32-d10v.c:491 elf32-fr30.c:663 elf32-m32r.c:1277 elf32-v850.c:1701
|
||||
#: elf32-cris.c:435 elf32-d10v.c:491 elf32-fr30.c:663 elf32-m32r.c:1277
|
||||
#: elf32-v850.c:1701
|
||||
msgid "internal error: unknown error"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:327
|
||||
#, c-format
|
||||
msgid "%s: invalid string offset %u >= %lu for section `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:550
|
||||
msgid ""
|
||||
"\n"
|
||||
"Program Header:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:598
|
||||
msgid ""
|
||||
"\n"
|
||||
"Dynamic Section:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:727
|
||||
msgid ""
|
||||
"\n"
|
||||
"Version definitions:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:750
|
||||
msgid ""
|
||||
"\n"
|
||||
"Version References:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:755
|
||||
#, c-format
|
||||
msgid " required from %s:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:1329
|
||||
#, c-format
|
||||
msgid "%s: invalid link %lu for reloc section %s (index %u)"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2090
|
||||
#, c-format
|
||||
msgid ""
|
||||
"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = "
|
||||
"0x%.8lx\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2693
|
||||
#, c-format
|
||||
msgid "%s: Not enough room for program headers (allocated %u, need %u)"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2792
|
||||
#, c-format
|
||||
msgid "%s: Not enough room for program headers, try linking with -N"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2918
|
||||
#, c-format
|
||||
msgid "Error: First section in segment (%s) starts at 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2921
|
||||
#, c-format
|
||||
msgid " whereas segment starts at 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3194
|
||||
#, c-format
|
||||
msgid "%s: warning: allocated section `%s' not in segment"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3588
|
||||
#, c-format
|
||||
msgid "%s: symbol `%s' required but not present"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3597
|
||||
#, c-format
|
||||
msgid ""
|
||||
"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = "
|
||||
"0x%.8lx%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3739
|
||||
#, c-format
|
||||
msgid "%s: warning: Empty loadable segment detected\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:5054
|
||||
#, c-format
|
||||
msgid "%s: unsupported relocation type %s"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-arm.h:1188
|
||||
#, c-format
|
||||
msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: elf32-arm.h:1377
|
||||
#, c-format
|
||||
msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: elf32-arm.h:1934
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -698,7 +809,7 @@ msgstr ""
|
|||
msgid "<Unrecognised flag bits set>"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-avr.c:852 elf32-fr30.c:659 elf32-v850.c:1685
|
||||
#: elf32-avr.c:852 elf32-cris.c:431 elf32-fr30.c:659 elf32-v850.c:1685
|
||||
msgid "internal error: dangerous relocation"
|
||||
msgstr ""
|
||||
|
||||
|
@ -726,7 +837,7 @@ msgstr ""
|
|||
msgid "SDA relocation when _SDA_BASE_ not defined"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-m32r.c:1000 elf32-ppc.c:2950 elf64-ia64.c:3185
|
||||
#: elf32-m32r.c:1000 elf32-ppc.c:2951 elf64-ia64.c:3186
|
||||
#, c-format
|
||||
msgid "%s: unknown relocation type %d"
|
||||
msgstr ""
|
||||
|
@ -802,7 +913,7 @@ msgstr ""
|
|||
msgid "%s: ABI mismatch: linking %s module with previous %s modules"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-mips.c:2603 elf32-ppc.c:1464 elf64-sparc.c:2957
|
||||
#: elf32-mips.c:2603 elf32-ppc.c:1464 elf64-sparc.c:2958
|
||||
#, c-format
|
||||
msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
|
||||
msgstr ""
|
||||
|
@ -871,7 +982,7 @@ msgstr ""
|
|||
msgid "static procedure (no name)"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-mips.c:4930 elf64-alpha.c:4367
|
||||
#: elf32-mips.c:4930 elf64-alpha.c:4368
|
||||
#, c-format
|
||||
msgid "%s: illegal section name `%s'"
|
||||
msgstr ""
|
||||
|
@ -907,23 +1018,23 @@ msgstr ""
|
|||
msgid "%s: Unknown special linker type %d"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-ppc.c:2238 elf32-ppc.c:2272 elf32-ppc.c:2307
|
||||
#: elf32-ppc.c:2239 elf32-ppc.c:2273 elf32-ppc.c:2308
|
||||
#, c-format
|
||||
msgid "%s: relocation %s cannot be used when making a shared object"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-ppc.c:3116
|
||||
#: elf32-ppc.c:3117
|
||||
#, c-format
|
||||
msgid "%s: unknown relocation type %d for symbol %s"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-ppc.c:3484 elf32-ppc.c:3506 elf32-ppc.c:3555
|
||||
#: elf32-ppc.c:3485 elf32-ppc.c:3507 elf32-ppc.c:3556
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s: The target (%s) of a %s relocation is in the wrong output section (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-ppc.c:3621
|
||||
#: elf32-ppc.c:3622
|
||||
#, c-format
|
||||
msgid "%s: Relocation %s is not yet supported for symbol %s."
|
||||
msgstr ""
|
||||
|
@ -968,27 +1079,27 @@ msgstr ""
|
|||
msgid "%s: 0x%lx: fatal: reloc overflow while relaxing"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-sparc.c:1509 elf64-sparc.c:2262
|
||||
#: elf32-sparc.c:1510 elf64-sparc.c:2263
|
||||
#, c-format
|
||||
msgid "%s: probably compiled without -fPIC?"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-sparc.c:1970
|
||||
#: elf32-sparc.c:1971
|
||||
#, c-format
|
||||
msgid "%s: compiled for a v8plus system and target is v8"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-sparc.c:1979
|
||||
#: elf32-sparc.c:1980
|
||||
#, c-format
|
||||
msgid "%s: compiled for a v8plusa system and target is v8plus"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-sparc.c:1987
|
||||
#: elf32-sparc.c:1988
|
||||
#, c-format
|
||||
msgid "%s: compiled for a 64 bit system and target is 32 bit"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-sparc.c:2002
|
||||
#: elf32-sparc.c:2003
|
||||
#, c-format
|
||||
msgid "%s: linking little endian files with big endian files"
|
||||
msgstr ""
|
||||
|
@ -1077,51 +1188,51 @@ msgstr ""
|
|||
msgid "non-zero addend in @fptr reloc"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3060
|
||||
#: elf64-ia64.c:3061
|
||||
#, c-format
|
||||
msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3071
|
||||
#: elf64-ia64.c:3072
|
||||
#, c-format
|
||||
msgid "%s: __gp does not cover short data segment"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3335
|
||||
#: elf64-ia64.c:3336
|
||||
#, c-format
|
||||
msgid "%s: linking non-pic code in a shared library"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3365
|
||||
#: elf64-ia64.c:3366
|
||||
#, c-format
|
||||
msgid "%s: @gprel relocation against dynamic symbol %s"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3500
|
||||
#: elf64-ia64.c:3501
|
||||
#, c-format
|
||||
msgid "%s: dynamic relocation against speculation fixup"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3508
|
||||
#: elf64-ia64.c:3509
|
||||
#, c-format
|
||||
msgid "%s: speculation fixup against undefined weak symbol"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3665
|
||||
#: elf64-ia64.c:3666
|
||||
msgid "unsupported reloc"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3979
|
||||
#: elf64-ia64.c:3980
|
||||
#, c-format
|
||||
msgid "%s: linking trap-on-NULL-dereference with non-trapping files"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3988
|
||||
#: elf64-ia64.c:3989
|
||||
#, c-format
|
||||
msgid "%s: linking big-endian files with little-endian files"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-ia64.c:3997
|
||||
#: elf64-ia64.c:3998
|
||||
#, c-format
|
||||
msgid "%s: linking 64-bit files with 32-bit files"
|
||||
msgstr ""
|
||||
|
@ -1151,104 +1262,11 @@ msgstr ""
|
|||
msgid "Symbol `%s' has differing types: REGISTER in %s, %s in %s"
|
||||
msgstr ""
|
||||
|
||||
#: elf64-sparc.c:2938
|
||||
#: elf64-sparc.c:2939
|
||||
#, c-format
|
||||
msgid "%s: linking UltraSPARC specific with HAL specific code"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:327
|
||||
#, c-format
|
||||
msgid "%s: invalid string offset %u >= %lu for section `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:550
|
||||
msgid ""
|
||||
"\n"
|
||||
"Program Header:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:598
|
||||
msgid ""
|
||||
"\n"
|
||||
"Dynamic Section:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:700
|
||||
msgid ""
|
||||
"\n"
|
||||
"Version definitions:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:723
|
||||
msgid ""
|
||||
"\n"
|
||||
"Version References:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:728
|
||||
#, c-format
|
||||
msgid " required from %s:\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:1292
|
||||
#, c-format
|
||||
msgid "%s: invalid link %lu for reloc section %s (index %u)"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2053
|
||||
#, c-format
|
||||
msgid ""
|
||||
"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = "
|
||||
"0x%.8lx\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2656
|
||||
#, c-format
|
||||
msgid "%s: Not enough room for program headers (allocated %u, need %u)"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2755
|
||||
#, c-format
|
||||
msgid "%s: Not enough room for program headers, try linking with -N"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2881
|
||||
#, c-format
|
||||
msgid "Error: First section in segment (%s) starts at 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:2884
|
||||
#, c-format
|
||||
msgid " whereas segment starts at 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3157
|
||||
#, c-format
|
||||
msgid "%s: warning: allocated section `%s' not in segment"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3548
|
||||
#, c-format
|
||||
msgid "%s: symbol `%s' required but not present"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3557
|
||||
#, c-format
|
||||
msgid ""
|
||||
"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = "
|
||||
"0x%.8lx%s\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:3699
|
||||
#, c-format
|
||||
msgid "%s: warning: Empty loadable segment detected\n"
|
||||
msgstr ""
|
||||
|
||||
#: elf.c:5014
|
||||
#, c-format
|
||||
msgid "%s: unsupported relocation type %s"
|
||||
msgstr ""
|
||||
|
||||
#: elfcode.h:1067
|
||||
#, c-format
|
||||
msgid "%s: version count (%ld) does not match symbol count (%ld)"
|
||||
|
@ -1259,37 +1277,37 @@ msgstr ""
|
|||
msgid "%s: Section %s is already to large to put hole of %ld bytes in"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:1387
|
||||
#: elflink.h:1395
|
||||
#, c-format
|
||||
msgid "%s: %s: invalid version %u (max %d)"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:1428
|
||||
#: elflink.h:1436
|
||||
#, c-format
|
||||
msgid "%s: %s: invalid needed version %d"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:1545
|
||||
#: elflink.h:1553
|
||||
#, c-format
|
||||
msgid "Warning: size of symbol `%s' changed from %lu to %lu in %s"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:1789
|
||||
#: elflink.h:1797
|
||||
#, c-format
|
||||
msgid "%s: warning: unexpected redefinition of `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:3496
|
||||
#: elflink.h:3569
|
||||
#, c-format
|
||||
msgid "warning: type and size of dynamic symbol `%s' are not defined"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:3768
|
||||
#: elflink.h:3841
|
||||
#, c-format
|
||||
msgid "%s: undefined versioned symbol name %s"
|
||||
msgstr ""
|
||||
|
||||
#: elflink.h:5012
|
||||
#: elflink.h:5085
|
||||
#, c-format
|
||||
msgid "%s: could not find output section %s for input section %s"
|
||||
msgstr ""
|
||||
|
@ -1423,6 +1441,21 @@ msgstr ""
|
|||
msgid "Unhandled OSF/1 core file section type %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:657
|
||||
#, c-format
|
||||
msgid "%s: `ld -r' not supported with PE MIPS objects\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:820
|
||||
#, c-format
|
||||
msgid "%s: jump too far away\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:847
|
||||
#, c-format
|
||||
msgid "%s: bad pair/reflo after refhi\n"
|
||||
msgstr ""
|
||||
|
||||
#. XXX code yet to be written.
|
||||
#: peicode.h:809
|
||||
#, c-format
|
||||
|
@ -1760,21 +1793,6 @@ msgid ""
|
|||
"Characteristics 0x%x\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:657
|
||||
#, c-format
|
||||
msgid "%s: `ld -r' not supported with PE MIPS objects\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:820
|
||||
#, c-format
|
||||
msgid "%s: jump too far away\n"
|
||||
msgstr ""
|
||||
|
||||
#: pe-mips.c:847
|
||||
#, c-format
|
||||
msgid "%s: bad pair/reflo after refhi\n"
|
||||
msgstr ""
|
||||
|
||||
#: ppcboot.c:422
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
14
bfd/reloc.c
14
bfd/reloc.c
|
@ -2898,6 +2898,20 @@ ENUMDOC
|
|||
Motorola 68HC11 reloc.
|
||||
This is the 3 bits of a value.
|
||||
|
||||
ENUM
|
||||
BFD_RELOC_CRIS_BDISP8
|
||||
ENUMX
|
||||
BFD_RELOC_CRIS_UNSIGNED_5
|
||||
ENUMX
|
||||
BFD_RELOC_CRIS_SIGNED_6
|
||||
ENUMX
|
||||
BFD_RELOC_CRIS_UNSIGNED_6
|
||||
ENUMX
|
||||
BFD_RELOC_CRIS_UNSIGNED_4
|
||||
ENUMDOC
|
||||
These relocs are only used within the CRIS assembler. They are not
|
||||
(at present) written to any object files.
|
||||
|
||||
ENDSENUM
|
||||
BFD_RELOC_UNUSED
|
||||
CODE_FRAGMENT
|
||||
|
|
|
@ -522,6 +522,7 @@ extern const bfd_target bfd_elf32_littlearm_oabi_vec;
|
|||
extern const bfd_target bfd_elf32_big_generic_vec;
|
||||
extern const bfd_target bfd_elf32_bigmips_vec;
|
||||
extern const bfd_target bfd_elf64_bigmips_vec;
|
||||
extern const bfd_target bfd_elf32_cris_vec;
|
||||
extern const bfd_target bfd_elf32_d10v_vec;
|
||||
extern const bfd_target bfd_elf32_d30v_vec;
|
||||
extern const bfd_target bfd_elf32_hppa_vec;
|
||||
|
@ -555,6 +556,7 @@ extern const bfd_target bfd_elf32_mcore_little_vec;
|
|||
extern const bfd_target bfd_elf64_big_generic_vec;
|
||||
extern const bfd_target bfd_elf64_little_generic_vec;
|
||||
extern const bfd_target bfd_elf64_sparc_vec;
|
||||
extern const bfd_target cris_aout_vec;
|
||||
extern const bfd_target demo_64_vec;
|
||||
extern const bfd_target ecoff_big_vec;
|
||||
extern const bfd_target ecoff_little_vec;
|
||||
|
@ -724,6 +726,7 @@ const bfd_target * const bfd_target_vector[] = {
|
|||
#ifdef BFD64
|
||||
&bfd_elf64_bigmips_vec,
|
||||
#endif
|
||||
&bfd_elf32_cris_vec,
|
||||
&bfd_elf32_d10v_vec,
|
||||
&bfd_elf32_d30v_vec,
|
||||
&bfd_elf32_hppa_vec,
|
||||
|
@ -767,6 +770,8 @@ const bfd_target * const bfd_target_vector[] = {
|
|||
/* We don't include cisco_core_*_vec. Although it has a magic number,
|
||||
the magic number isn't at the beginning of the file, and thus
|
||||
might spuriously match other kinds of files. */
|
||||
|
||||
&cris_aout_vec,
|
||||
#ifdef BFD64
|
||||
&demo_64_vec, /* Only compiled if host has long-long support */
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue