arm-oabi support committed

Catherine L. Moore clm@cygnus.com
Tue Feb 2 19:03:00 GMT 1999


I committed the following patches to egcs this evening.  They were
approved by Nick Clifton.  The patches are required to support
the beta version of the armelf specification.  The final version
changed the relocation numbers thus the need to differentiate at
configure time between the two implementations.  --target=arm-oabi
will produce object files which are compatible with the original
implementation.  --target=arm-elf will cause the tools to conform
to the standard.

Catherine

Tue Feb  2 20:05:05 1999  Catherine Moore  <clm@cygnus.com>
 
        * config.sub (oabi):  Recognize.
        * configure.in (arm-*-oabi):  Handle.

Index: config.sub
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/config.sub,v
retrieving revision 1.23
diff -p -r1.23 config.sub
*** config.sub	1999/01/30 07:07:40	1.23
--- config.sub	1999/02/03 02:24:55
*************** case $os in
*** 928,934 ****
  	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
  	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
! 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
--- 928,934 ----
  	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
  	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
! 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
  	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
Index: configure.in
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/configure.in,v
retrieving revision 1.31
diff -p -r1.31 configure.in
*** configure.in	1999/01/30 07:07:41	1.31
--- configure.in	1999/02/03 02:25:07
*************** case "${target}" in
*** 578,583 ****
--- 578,595 ----
    arm-*-coff*)
      noconfigdirs="$noconfigdirs target-libgloss"
      ;;
+   arm-*-elf*)
+     noconfigdirs="$noconfigdirs target-libgloss"
+     if [ x${is_cross_compiler} != xno ] ; then
+            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
+     fi
+     ;;
+   arm-*-oabi*)
+     noconfigdirs="$noconfigdirs target-libgloss"
+     if [ x${is_cross_compiler} != xno ] ; then
+            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
+     fi
+     ;;
    c4x-*-*)
      noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
      ;;

gcc/ChangeLog

Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
 
        * configure.in (arm-*-oabi):  Support.
        * configure:  Regenerate.
        * config/arm/unknown-elf-oabi.h:  New file.

Index: configure.in
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/configure.in,v
retrieving revision 1.203
diff -p -r1.203 configure.in
*** configure.in	1999/01/31 13:51:06	1.203
--- configure.in	1999/02/03 02:48:36
*************** changequote([,])dnl
*** 728,733 ****
--- 728,737 ----
  		tm_file=arm/unknown-elf.h
  		tmake_file=arm/t-arm-elf
  		;;
+         arm*-*-oabi)
+ 		tm_file=arm/unknown-elf-oabi.h
+ 		tmake_file=arm/t-arm-elf
+ 		;;
  	c1-convex-*)			# Convex C1
  		target_cpu_default=1
  		use_collect2=yes
Index: config/arm/unknown-elf-oabi.h
===================================================================
RCS file: unknown-elf-oabi.h
diff -N unknown-elf-oabi.h
*** /dev/null	Sat Dec  5 20:30:03 1998
--- unknown-elf-oabi.h	Tue Feb  2 18:49:44 1999
***************
*** 0 ****
--- 1,36 ----
+ /* Definitions for non-Linux based ARM systems using ELF old abi
+    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+    Contributed by Catherine Moore <clm@cygnus.com>
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC 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, or (at your option)
+ any later version.
+ 
+ GNU CC 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; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ /* Run-time Target Specification.  */
+ #ifndef TARGET_VERSION
+ #define TARGET_VERSION	fputs (" (ARM/ELF non-Linux old abi)", stderr);
+ #endif
+ 
+ #define CPP_PREDEFINES "-Darm_oabi -Darm -Darm_elf -Acpu(arm) -Amachine(arm) -D__ELF__"
+ 
+ #ifndef ASM_SPEC
+ #define ASM_SPEC "-moabi %{mbig-endian:-EB} %{mcpu=*:-m%*} %{march=*:-m%*} \
+  %{mapcs-*:-mapcs-%*} %{mthumb-interwork:-mthumb-interwork}"
+ #endif
+ 
+ /* Now get the routine arm-elf definitions.  */
+ #include "arm/unknown-elf.h"
+ #include "arm/elf.h"


More information about the Gcc-patches mailing list