PATCH ppc-nto and common qnx bfd_backend
Graeme Peterson
gp@qnx.com
Wed Jul 31 14:04:00 GMT 2002
Hi, all.
Here is a patch for QNX Neutrino PowerPC support and the
change from i386-only to common QNX specific bfd backend
functions.
Cheers.
GP
-------------- next part --------------
diff -rc3p -N src/bfd/ChangeLog src.qnx/bfd/ChangeLog
*** src/bfd/ChangeLog Tue Jul 30 13:57:36 2002
--- src.qnx/bfd/ChangeLog Wed Jul 31 16:00:07 2002
***************
*** 1,3 ****
--- 1,20 ----
+ 2002-07-31 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add entries for elf32-ppcqnx.c, and add
+ elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
+ * Makefile.in: Regenerate.
+ * config.bfd: Add support for powerpc{le}-*-nto targets.
+ * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
+ * configure: Regenerate.
+ * elf32-i386qnx.c: Moved backend functions into a QNX specific
+ common file "elf32-qnx.h", and now include that file.
+ * elf32-qnx.h: New file: QNX specific common elf backend.
+ * elf32-ppc.c: Do not include elf32-target.h if
+ ELF32_PPC_C_INCLUDED is defined.
+ * elf32-ppcqnx.c: New file: Support for QNX.
+ * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
+ * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
+
2002-07-30 Graeme Peterson <gp@qnx.com>
* elfarmqnx-nabi.c: New file: Support for QNX.
diff -rc3p -N src/bfd/Makefile.am src.qnx/bfd/Makefile.am
*** src/bfd/Makefile.am Tue Jul 30 18:33:39 2002
--- src.qnx/bfd/Makefile.am Wed Jul 31 15:57:43 2002
*************** BFD32_BACKENDS = \
*** 232,237 ****
--- 232,238 ----
elf32-or32.lo \
elf32-pj.lo \
elf32-ppc.lo \
+ elf32-ppcqnx.lo \
elf32-s390.lo \
elf32-sh.lo \
elf32-sh-lin.lo \
*************** BFD32_BACKENDS_CFILES = \
*** 390,395 ****
--- 391,397 ----
elf32-or32.c \
elf32-pj.c \
elf32-ppc.c \
+ elf32-ppcqnx.c \
elf32-sh64.c \
elf32-sh64-com.c \
elf32-s390.c \
*************** elfarm-nabi.lo: elfarm-nabi.c $(INCDIR)/
*** 1099,1105 ****
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf32-arm.h elf32-target.h
elfarmqnx-nabi.lo: elfarmqnx-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \
! $(INCDIR)/filenames.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf32-arm.h elf32-target.h
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
--- 1101,1107 ----
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf32-arm.h elf32-target.h
elfarmqnx-nabi.lo: elfarmqnx-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \
! $(INCDIR)/filenames.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf32-arm.h elf32-target.h
elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \
*************** elf32-i386.lo: elf32-i386.c $(INCDIR)/fi
*** 1149,1155 ****
$(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h
elf32-i386qnx.lo: elf32-i386qnx.c elf32-i386.c $(INCDIR)/filenames.h \
! $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h \
$(INCDIR)/elf/reloc-macros.h elf32-target.h
elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \
--- 1151,1157 ----
$(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h
elf32-i386qnx.lo: elf32-i386qnx.c elf32-i386.c $(INCDIR)/filenames.h \
! $(INCDIR)/bfdlink.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h \
$(INCDIR)/elf/reloc-macros.h elf32-target.h
elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \
*************** elf32-pj.lo: elf32-pj.c $(INCDIR)/filena
*** 1220,1225 ****
--- 1222,1231 ----
elf32-target.h
elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h \
+ elf32-target.h
+ elf32-ppcqnx.lo: elf32-ppcqnx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
+ elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
$(INCDIR)/elf/external.h $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h
elf32-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \
diff -rc3p -N src/bfd/config.bfd src.qnx/bfd/config.bfd
*** src/bfd/config.bfd Tue Jul 30 18:33:39 2002
--- src.qnx/bfd/config.bfd Wed Jul 31 12:06:44 2002
*************** case "${targ}" in
*** 867,872 ****
--- 867,880 ----
targ_defvec=bfd_elf32_powerpc_vec
targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
;;
+ powerpc-*-nto*)
+ targ_defvec=bfd_elf32_powerpcqnx_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcleqnx_vec ppcboot_vec"
+ ;;
+ powerpcle-*-nto*)
+ targ_defvec=bfd_elf32_powerpcleqnx_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcqnx_vec ppcboot_vec"
+ ;;
powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
powerpcle-*-rtems*)
diff -rc3p -N src/bfd/configure.in src.qnx/bfd/configure.in
*** src/bfd/configure.in Tue Jul 30 18:33:41 2002
--- src.qnx/bfd/configure.in Tue Jul 30 17:53:52 2002
*************** do
*** 605,610 ****
--- 605,612 ----
bfd_elf32_pjl_vec) tb="$tb elf32-pj.lo elf32.lo $elf";;
bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
+ bfd_elf32_powerpcleqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;;
+ bfd_elf32_powerpcqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;;
bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
# FIXME: We include cofflink.lo not because it's needed for
# bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec
diff -rc3p -N src/bfd/elf32-i386qnx.c src.qnx/bfd/elf32-i386qnx.c
*** src/bfd/elf32-i386qnx.c Sun Jun 2 21:57:09 2002
--- src.qnx/bfd/elf32-i386qnx.c Wed Jul 31 12:37:37 2002
***************
*** 2,111 ****
Copyright 2002
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. */
#define ELF32_I386_C_INCLUDED
#include "elf32-i386.c"
! /* Returns the end address of the segment + 1. */
! #define SEGMENT_END(segment, start) \
! (start + (segment->p_memsz > segment->p_filesz \
! ? segment->p_memsz : segment->p_filesz))
!
! static boolean elf_i386qnx_copy_private_bfd_data_p
! PARAMS ((bfd *, asection *, bfd *, asection *));
! static boolean elf_i386qnx_is_contained_by_filepos
! PARAMS ((asection *, Elf_Internal_Phdr *));
! static void elf_i386qnx_set_nonloadable_filepos
! PARAMS ((bfd *, Elf_Internal_Phdr *));
!
! static boolean
! elf_i386qnx_copy_private_bfd_data_p (ibfd, isec, obfd, osec)
! bfd *ibfd;
! asection *isec;
! bfd *obfd;
! asection *osec;
! {
! /* We don't use these parameters, but another target might. */
! ibfd = ibfd;
! obfd = obfd;
! osec = osec;
! return isec->next == NULL;
! }
!
! static boolean
! elf_i386qnx_is_contained_by_filepos (section, segment)
! asection *section;
! Elf_Internal_Phdr *segment;
! {
! return ((bfd_vma) section->filepos >= segment->p_offset
! && ((bfd_vma) section->filepos + section->_raw_size
! <= SEGMENT_END (segment, segment->p_offset)));
! }
!
! static void
! elf_i386qnx_set_nonloadable_filepos (abfd, phdrs)
! bfd *abfd;
! Elf_Internal_Phdr *phdrs;
! {
! struct elf_segment_map *m;
! Elf_Internal_Phdr *p;
! file_ptr off = 0;
!
! for (m = elf_tdata (abfd)->segment_map, p = phdrs;
! m != NULL;
! m = m->next, p++)
! {
! unsigned int i;
! asection **secpp;
!
! for (i = 0, secpp = m->sections; i < m->count; i++, secpp++)
! {
! asection *sec;
!
! sec = *secpp;
!
! if (p->p_type == PT_LOAD)
! off = sec->filepos;
! else
! {
! if (i == 0)
! {
! if (sec->filepos)
! p->p_offset = sec->filepos;
! else
! p->p_offset = off;
! }
! if (!sec->filepos)
! {
! off += sec->_raw_size;
! p->p_filesz += sec->_raw_size;
! }
! }
! }
! }
! return;
! }
#undef TARGET_LITTLE_SYM
#define TARGET_LITTLE_SYM bfd_elf32_i386qnx_vec
- #define elf_backend_set_nonloadable_filepos elf_i386qnx_set_nonloadable_filepos
- #define elf_backend_is_contained_by_filepos elf_i386qnx_is_contained_by_filepos
- #define elf_backend_copy_private_bfd_data_p elf_i386qnx_copy_private_bfd_data_p
-
#include "elf32-target.h"
--- 2,30 ----
Copyright 2002
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. */
#define ELF32_I386_C_INCLUDED
#include "elf32-i386.c"
! #include "elf32-qnx.h"
#undef TARGET_LITTLE_SYM
#define TARGET_LITTLE_SYM bfd_elf32_i386qnx_vec
#include "elf32-target.h"
+
diff -rc3p -N src/bfd/elf32-ppc.c src.qnx/bfd/elf32-ppc.c
*** src/bfd/elf32-ppc.c Tue Jul 30 18:34:10 2002
--- src.qnx/bfd/elf32-ppc.c Tue Jul 30 17:59:21 2002
*************** ppc_elf_grok_psinfo (abfd, note)
*** 3836,3839 ****
--- 3836,3842 ----
#define elf_backend_grok_psinfo ppc_elf_grok_psinfo
#define elf_backend_reloc_type_class ppc_elf_reloc_type_class
+ #ifndef ELF32_PPC_C_INCLUDED
#include "elf32-target.h"
+ #endif
+
diff -rc3p -N src/bfd/elf32-ppcqnx.c src.qnx/bfd/elf32-ppcqnx.c
*** src/bfd/elf32-ppcqnx.c Wed Dec 31 19:00:00 1969
--- src.qnx/bfd/elf32-ppcqnx.c Wed Jul 31 12:37:10 2002
***************
*** 0 ****
--- 1,32 ----
+ /* PowerPC QNX specific support for 32-bit ELF
+ Copyright 2002
+ 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. */
+
+ #define ELF32_PPC_C_INCLUDED
+ #include "elf32-ppc.c"
+
+ #include "elf32-qnx.h"
+
+ #undef TARGET_LITTLE_SYM
+ #define TARGET_LITTLE_SYM bfd_elf32_powerpcleqnx_vec
+ #undef TARGET_BIG_SYM
+ #define TARGET_BIG_SYM bfd_elf32_powerpcqnx_vec
+
+ #include "elf32-target.h"
+
diff -rc3p -N src/bfd/elf32-qnx.h src.qnx/bfd/elf32-qnx.h
*** src/bfd/elf32-qnx.h Wed Dec 31 19:00:00 1969
--- src.qnx/bfd/elf32-qnx.h Wed Jul 31 12:34:27 2002
***************
*** 0 ****
--- 1,110 ----
+ /* QNX specific support for 32-bit ELF
+ Copyright 2002
+ 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. */
+
+ /* Returns the end address of the segment + 1. */
+ #define SEGMENT_END(segment, start) \
+ (start + (segment->p_memsz > segment->p_filesz \
+ ? segment->p_memsz : segment->p_filesz))
+
+ static boolean elf_i386qnx_copy_private_bfd_data_p
+ PARAMS ((bfd *, asection *, bfd *, asection *));
+ static boolean elf_i386qnx_is_contained_by_filepos
+ PARAMS ((asection *, Elf_Internal_Phdr *));
+ static void elf_i386qnx_set_nonloadable_filepos
+ PARAMS ((bfd *, Elf_Internal_Phdr *));
+
+ static boolean
+ elf_qnx_copy_private_bfd_data_p (ibfd, isec, obfd, osec)
+ bfd *ibfd;
+ asection *isec;
+ bfd *obfd;
+ asection *osec;
+ {
+ /* We don't use these parameters, but another target might. */
+ ibfd = ibfd;
+ obfd = obfd;
+ osec = osec;
+ return isec->next == NULL;
+ }
+
+ static boolean
+ elf_qnx_is_contained_by_filepos (section, segment)
+ asection *section;
+ Elf_Internal_Phdr *segment;
+ {
+ return ((bfd_vma) section->filepos >= segment->p_offset
+ && ((bfd_vma) section->filepos + section->_raw_size
+ <= SEGMENT_END (segment, segment->p_offset)));
+ }
+
+ static void
+ elf_qnx_set_nonloadable_filepos (abfd, phdrs)
+ bfd *abfd;
+ Elf_Internal_Phdr *phdrs;
+ {
+ struct elf_segment_map *m;
+ Elf_Internal_Phdr *p;
+ file_ptr off = 0;
+
+ for (m = elf_tdata (abfd)->segment_map, p = phdrs;
+ m != NULL;
+ m = m->next, p++)
+ {
+ unsigned int i;
+ asection **secpp;
+
+ for (i = 0, secpp = m->sections; i < m->count; i++, secpp++)
+ {
+ asection *sec;
+
+ sec = *secpp;
+
+ if (p->p_type == PT_LOAD)
+ off = sec->filepos;
+ else
+ {
+ if (i == 0)
+ {
+ if (sec->filepos)
+ p->p_offset = sec->filepos;
+ else
+ p->p_offset = off;
+ }
+ if (!sec->filepos)
+ {
+ off += sec->_raw_size;
+ p->p_filesz += sec->_raw_size;
+ }
+ }
+ }
+ }
+ return;
+ }
+
+ #ifndef elf_backend_set_nonloadable_filepos
+ #define elf_backend_set_nonloadable_filepos elf_qnx_set_nonloadable_filepos
+ #endif
+ #ifndef elf_backend_is_contained_by_filepos
+ #define elf_backend_is_contained_by_filepos elf_qnx_is_contained_by_filepos
+ #endif
+ #ifndef elf_backend_copy_private_bfd_data_p
+ #define elf_backend_copy_private_bfd_data_p elf_qnx_copy_private_bfd_data_p
+ #endif
+
diff -rc3p -N src/bfd/elfarmqnx-nabi.c src.qnx/bfd/elfarmqnx-nabi.c
*** src/bfd/elfarmqnx-nabi.c Tue Jul 30 13:32:26 2002
--- src.qnx/bfd/elfarmqnx-nabi.c Wed Jul 31 12:39:01 2002
***************
*** 1,5 ****
! /* 32-bit ELF support for ARM new abi option, for QNX.
! Copyright 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
--- 1,6 ----
! /* ARM new abi QNX specific support for 32-bit ELF
! Copyright 2002
! Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
***************
*** 19,24 ****
--- 20,27 ----
#define ELFARM_NABI_C_INCLUDED
#include "elfarm-nabi.c"
+
+ #include "elf32-qnx.h"
#undef TARGET_LITTLE_SYM
#define TARGET_LITTLE_SYM bfd_elf32_littlearmqnx_vec
diff -rc3p -N src/bfd/targets.c src.qnx/bfd/targets.c
*** src/bfd/targets.c Tue Jul 30 18:34:10 2002
--- src.qnx/bfd/targets.c Wed Jul 31 13:02:37 2002
*************** extern const bfd_target bfd_elf32_pj_vec
*** 549,554 ****
--- 549,556 ----
extern const bfd_target bfd_elf32_pjl_vec;
extern const bfd_target bfd_elf32_powerpc_vec;
extern const bfd_target bfd_elf32_powerpcle_vec;
+ extern const bfd_target bfd_elf32_powerpcleqnx_vec;
+ extern const bfd_target bfd_elf32_powerpcqnx_vec;
extern const bfd_target bfd_elf32_s390_vec;
extern const bfd_target bfd_elf32_sh64_vec;
extern const bfd_target bfd_elf32_sh64l_vec;
*************** static const bfd_target * const _bfd_tar
*** 814,819 ****
--- 816,823 ----
&bfd_elf32_pjl_vec,
&bfd_elf32_powerpc_vec,
&bfd_elf32_powerpcle_vec,
+ &bfd_elf32_powerpcleqnx_vec,
+ &bfd_elf32_powerpcqnx_vec,
&bfd_elf32_s390_vec,
&bfd_elf32_sh_vec,
&bfd_elf32_shblin_vec,
diff -rc3p -N src/gas/ChangeLog src.qnx/gas/ChangeLog
*** src/gas/ChangeLog Tue Jul 30 15:31:32 2002
--- src.qnx/gas/ChangeLog Wed Jul 31 15:39:20 2002
***************
*** 1,3 ****
--- 1,8 ----
+ 2002-07-31 Graeme Peterson <gp@qnx.com>
+
+ * configure.in: Add support for ppc-*-nto* target.
+ * configure: Regenerate.
+
2002-07-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* tc-mips.c (load_address): Don't clobber $at when loading a
diff -rc3p -N src/gas/configure.in src.qnx/gas/configure.in
*** src/gas/configure.in Tue Jul 30 18:34:11 2002
--- src.qnx/gas/configure.in Tue Jul 30 15:43:56 2002
*************** changequote([,])dnl
*** 419,424 ****
--- 419,425 ----
ppc-*-macos* | ppc-*-mpw*)
fmt=coff em=macos ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
+ ppc-*-nto*) fmt=elf ;;
ppc-*-vxworks*) fmt=elf ;;
ppc-*-windiss*) fmt=elf ;;
diff -rc3p -N src/ld/ChangeLog src.qnx/ld/ChangeLog
*** src/ld/ChangeLog Tue Jul 30 13:57:48 2002
--- src.qnx/ld/ChangeLog Wed Jul 31 15:52:43 2002
***************
*** 1,3 ****
--- 1,12 ----
+ 2002-07-31 Graeme Peterson <gp@qnx.com>
+
+ * configure.tgt: Add support for powerpc{le}-*-nto* targets.
+ * Makefile.am: Add eelf32{l}ppcnto.o files.
+ * Makefile.in: Regenerate.
+ * emulparams/elf32lppcnto.sh: New file.
+ * emulparams/elf32ppcnto.sh: New file.
+
+
2002-07-30 Graeme Peterson <gp@qnx.com>
* configure.tgt: Add support for arm-*-nto target.
diff -rc3p -N src/ld/Makefile.am src.qnx/ld/Makefile.am
*** src/ld/Makefile.am Tue Jul 30 18:34:12 2002
--- src.qnx/ld/Makefile.am Wed Jul 31 15:55:15 2002
*************** ALL_EMULATIONS = \
*** 166,177 ****
--- 166,179 ----
eelf32l4300.o \
eelf32lmip.o \
eelf32lppc.o \
+ eelf32lppcnto.o \
eelf32lppcsim.o \
eelf32mcore.o \
eelf32openrisc.o \
eelf32ppc.o \
eelf32ppc_fbsd.o \
eelf32ppclinux.o \
+ eelf32ppcnto.o \
eelf32ppcsim.o \
eelf32ppcwindiss.o \
eelf32vax.o \
*************** eelf32lppc.c: $(srcdir)/emulparams/elf32
*** 594,603 ****
--- 596,613 ----
$(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
+ eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lppcnto "$(tdir_elf32lppcnto)"
eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
+ eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh ${GEN_DEPENDS}
${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
diff -rc3p -N src/ld/configure.tgt src.qnx/ld/configure.tgt
*** src/ld/configure.tgt Tue Jul 30 18:34:13 2002
--- src.qnx/ld/configure.tgt Tue Jul 30 17:12:47 2002
*************** powerpc*-*-elf* | powerpc*-*-eabi* | pow
*** 465,470 ****
--- 465,472 ----
*) targ_emul=elf32ppc
targ_extra_emuls="elf32ppclinux elf32ppcsim" ;;
esac ;;
+ powerpc-*-nto*) targ_emul=elf32ppcnto ;;
+ powerpcle-*-nto*) targ_emul=elf32lppcnto ;;
powerpcle-*-rtems*) targ_emul=elf32leppc ;;
powerpc-*-rtems*) targ_emul=elf32ppc ;;
powerpc-*-macos*) targ_emul=ppcmacos ;;
diff -rc3p -N src/ld/emulparams/elf32lppcnto.sh src.qnx/ld/emulparams/elf32lppcnto.sh
*** src/ld/emulparams/elf32lppcnto.sh Wed Dec 31 19:00:00 1969
--- src.qnx/ld/emulparams/elf32lppcnto.sh Tue Jul 30 16:10:46 2002
***************
*** 0 ****
--- 1,5 ----
+ . ${srcdir}/emulparams/elf32ppc.sh
+ OUTPUT_FORMAT="elf32-powerpcle"
+ MAXPAGESIZE=0x1000
+ TEXT_START_ADDR=0x48040000
+
diff -rc3p -N src/ld/emulparams/elf32ppcnto.sh src.qnx/ld/emulparams/elf32ppcnto.sh
*** src/ld/emulparams/elf32ppcnto.sh Wed Dec 31 19:00:00 1969
--- src.qnx/ld/emulparams/elf32ppcnto.sh Tue Jul 30 16:10:37 2002
***************
*** 0 ****
--- 1,4 ----
+ . ${srcdir}/emulparams/elf32ppc.sh
+ MAXPAGESIZE=0x1000
+ TEXT_START_ADDR=0x48040000
+
More information about the Binutils
mailing list