From d55ca99d910a0b891e647d364dabdd0be72d53e9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 5 Feb 2012 13:46:40 +0000 Subject: [PATCH] - added from gcc/ Changed files: gcc4-ada-link.patch -> 1.1 gcc4-alpha-ada_fix.patch -> 1.1 gcc4-sparc64-ada_fix.patch -> 1.1 --- gcc4-ada-link.patch | 65 +++++++++++++ gcc4-alpha-ada_fix.patch | 127 +++++++++++++++++++++++++ gcc4-sparc64-ada_fix.patch | 188 +++++++++++++++++++++++++++++++++++++ 3 files changed, 380 insertions(+) create mode 100644 gcc4-ada-link.patch create mode 100644 gcc4-alpha-ada_fix.patch create mode 100644 gcc4-sparc64-ada_fix.patch diff --git a/gcc4-ada-link.patch b/gcc4-ada-link.patch new file mode 100644 index 0000000..dd26b51 --- /dev/null +++ b/gcc4-ada-link.patch @@ -0,0 +1,65 @@ +--- gcc-4.0-20040919/gcc/ada/link.c.orig 2004-09-13 12:18:40.000000000 +0200 ++++ gcc-4.0-20040919/gcc/ada/link.c 2004-09-26 12:24:29.079704096 +0200 +@@ -164,9 +164,9 @@ + + #elif defined (linux) + const char *__gnat_object_file_option = ""; +-const char *__gnat_run_path_option = "-Wl,-rpath,"; +-char __gnat_shared_libgnat_default = STATIC; +-int __gnat_link_max = 8192; ++const char *__gnat_run_path_option = ""; ++char __gnat_shared_libgnat_default = SHARED; ++int __gnat_link_max = 131072; + unsigned char __gnat_objlist_file_supported = 1; + unsigned char __gnat_using_gnu_linker = 1; + const char *__gnat_object_library_extension = ".a"; +--- gcc-4.0-20040919/gcc/ada/Make-lang.in.orig 2004-09-01 12:46:47.000000000 +0200 ++++ gcc-4.0-20040919/gcc/ada/Make-lang.in 2004-09-26 12:21:15.135188144 +0200 +@@ -378,7 +378,7 @@ + ada/doctools/xgnatugn$(build_exeext): ada/xgnatugn.adb + -$(MKDIR) ada/doctools + $(CP) $^ ada/doctools +- cd ada/doctools && gnatmake -q xgnatugn ++ cd ada/doctools && gnatmake -q xgnatugn -a0../rts + + # Note that gnat_ugn_unw.texi does not depend on xgnatugn + # being built so we can distribute a pregenerated gnat_ugn_unw.info +--- gcc-4.1-20050522/gcc/ada/Makefile.in.orig 2005-05-26 10:48:40.000000000 +0000 ++++ gcc-4.1-20050522/gcc/ada/Makefile.in 2005-05-26 10:59:25.000000000 +0000 +@@ -139,7 +139,7 @@ + objext = .o + exeext = + arext = .a +-soext = .so ++soext = .so.1 + shext = + hyphen = - + +@@ -1364,7 +1414,7 @@ + s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads + + LIBGNAT=../rts/libgnat.a +-GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES) ++GCC_LINK=$(CC) $(ADA_INCLUDES) + + # when compiling the tools, the runtime has to be first on the path so that + # it hides the runtime files lying with the rest of the sources +@@ -1644,7 +1694,8 @@ + -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ + $(GNATRTL_TASKING_OBJS) \ + $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +- $(THREADSLIB) ++ $(THREADSLIB) \ ++ ./libgnat-$(LIBRARY_VERSION)$(soext) + cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + libgnat$(soext) + cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ +@@ -1691,7 +1742,7 @@ + THREAD_KIND="$(THREAD_KIND)" \ + gnatlib + $(RM) rts/libgna*$(soext) +- cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ ++ cd rts; ../../xgcc -B../../ -shared -shared-libgcc $(TARGET_LIBGCC2_CFLAGS) \ + -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ + $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) diff --git a/gcc4-alpha-ada_fix.patch b/gcc4-alpha-ada_fix.patch new file mode 100644 index 0000000..e9cf23c --- /dev/null +++ b/gcc4-alpha-ada_fix.patch @@ -0,0 +1,127 @@ +--- gcc/gcc/ada/Makefile.in.orig 2005-05-26 10:59:25.000000000 +0000 ++++ gcc/gcc/ada/Makefile.in 2005-05-26 11:06:11.000000000 +0000 +@@ -1610,67 +1610,67 @@ + + + ../../gnatchop$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop + $(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnat$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd + $(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatkr$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr + $(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatls$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatls.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls + $(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatname$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatname.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname + $(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gprmake$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gprmake.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake + $(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatprep$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep + $(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatxref$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref + $(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatfind$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind + $(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatclean$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean + $(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatsym$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym + $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../gnatdll$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll + $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + + ../../vxaddr2line$(exeext): +- $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" ++ $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line.adb --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line + $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" $(CLIB) + +--- gcc/gcc/ada/Make-lang.in~ 2005-03-02 18:52:34.000000000 +0000 ++++ gcc/gcc/ada/Make-lang.in 2005-03-02 19:07:26.000000000 +0000 +@@ -367,7 +367,7 @@ + ada/doctools/xgnatugn$(build_exeext): ada/xgnatugn.adb + -$(MKDIR) ada/doctools + $(CP) $^ ada/doctools +- cd ada/doctools && gnatmake -q xgnatugn -a0../rts ++ cd ada/doctools && gnatmake -q xgnatugn.adb -a0../rts + + # Note that gnat_ugn_unw.texi does not depend on xgnatugn + # being built so we can distribute a pregenerated gnat_ugn_unw.info +@@ -880,27 +880,27 @@ + ada/treeprs.ads : ada/treeprs.adt ada/sinfo.ads ada/xtreeprs.adb + -$(MKDIR) ada/bldtools/treeprs + $(CP) $^ ada/bldtools/treeprs +- (cd ada/bldtools/treeprs; gnatmake -q xtreeprs ; ./xtreeprs ../../treeprs.ads ) ++ (cd ada/bldtools/treeprs; gnatmake -q xtreeprs.adb ; ./xtreeprs ../../treeprs.ads ) + + ada/einfo.h : ada/einfo.ads ada/einfo.adb ada/xeinfo.adb + -$(MKDIR) ada/bldtools/einfo + $(CP) $^ ada/bldtools/einfo +- (cd ada/bldtools/einfo; gnatmake -q xeinfo ; ./xeinfo ../../einfo.h ) ++ (cd ada/bldtools/einfo; gnatmake -q xeinfo.adb ; ./xeinfo ../../einfo.h ) + + ada/sinfo.h : ada/sinfo.ads ada/xsinfo.adb + -$(MKDIR) ada/bldtools/sinfo + $(CP) $^ ada/bldtools/sinfo +- (cd ada/bldtools/sinfo; gnatmake -q xsinfo ; ./xsinfo ../../sinfo.h ) ++ (cd ada/bldtools/sinfo; gnatmake -q xsinfo.adb ; ./xsinfo ../../sinfo.h ) + + ada/nmake.adb : ada/sinfo.ads ada/nmake.adt ada/xnmake.adb + -$(MKDIR) ada/bldtools/nmake_b + $(CP) $^ ada/bldtools/nmake_b +- (cd ada/bldtools/nmake_b; gnatmake -q xnmake ; ./xnmake -b ../../nmake.adb ) ++ (cd ada/bldtools/nmake_b; gnatmake -q xnmake.adb ; ./xnmake -b ../../nmake.adb ) + + ada/nmake.ads : ada/sinfo.ads ada/nmake.adt ada/xnmake.adb ada/nmake.adb + -$(MKDIR) ada/bldtools/nmake_s + $(CP) $^ ada/bldtools/nmake_s +- (cd ada/bldtools/nmake_s; gnatmake -q xnmake ; ./xnmake -s ../../nmake.ads ) ++ (cd ada/bldtools/nmake_s; gnatmake -q xnmake.adb ; ./xnmake -s ../../nmake.ads ) + + update-sources : ada/treeprs.ads ada/einfo.h ada/sinfo.h ada/nmake.adb \ + ada/nmake.ads diff --git a/gcc4-sparc64-ada_fix.patch b/gcc4-sparc64-ada_fix.patch new file mode 100644 index 0000000..5486c5a --- /dev/null +++ b/gcc4-sparc64-ada_fix.patch @@ -0,0 +1,188 @@ +--- a/gcc/ada/Makefile.in 2005-05-26 10:48:40.000000000 +0000 ++++ b/gcc/ada/Makefile.in 2005-05-26 10:59:25.000000000 +0000 +@@ -1180,6 +1180,31 @@ + LIBRARY_VERSION := $(LIB_VERSION) + endif + ++ifeq ($(strip $(filter-out sparc64% linux%,$(arch) $(osys))),) ++ LIBGNAT_TARGET_PAIRS = \ ++ a-intnam.ads" (Left, Right : Address) return Boolean; ++ function ">=" (Left, Right : Address) return Boolean; ++ function "=" (Left, Right : Address) return Boolean; ++ ++ pragma Import (Intrinsic, "<"); ++ pragma Import (Intrinsic, "<="); ++ pragma Import (Intrinsic, ">"); ++ pragma Import (Intrinsic, ">="); ++ pragma Import (Intrinsic, "="); ++ ++ -- Other System-Dependent Declarations ++ ++ type Bit_Order is (High_Order_First, Low_Order_First); ++ Default_Bit_Order : constant Bit_Order := High_Order_First; ++ ++ -- Priority-related Declarations (RM D.1) ++ ++ Max_Priority : constant Positive := 30; ++ Max_Interrupt_Priority : constant Positive := 31; ++ ++ subtype Any_Priority is Integer range 0 .. 31; ++ subtype Priority is Any_Priority range 0 .. 30; ++ subtype Interrupt_Priority is Any_Priority range 31 .. 31; ++ ++ Default_Priority : constant Priority := 15; ++ ++private ++ ++ type Address is mod Memory_Size; ++ Null_Address : constant Address := 0; ++ ++ -------------------------------------- ++ -- System Implementation Parameters -- ++ -------------------------------------- ++ ++ -- These parameters provide information about the target that is used ++ -- by the compiler. They are in the private part of System, where they ++ -- can be accessed using the special circuitry in the Targparm unit ++ -- whose source should be consulted for more detailed descriptions ++ -- of the individual switch values. ++ ++ AAMP : constant Boolean := False; ++ Backend_Divide_Checks : constant Boolean := False; ++ Backend_Overflow_Checks : constant Boolean := False; ++ Command_Line_Args : constant Boolean := True; ++ Configurable_Run_Time : constant Boolean := False; ++ Denorm : constant Boolean := True; ++ Duration_32_Bits : constant Boolean := False; ++ Exit_Status_Supported : constant Boolean := True; ++ Fractional_Fixed_Ops : constant Boolean := False; ++ Frontend_Layout : constant Boolean := False; ++ Functions_Return_By_DSP : constant Boolean := False; ++ Machine_Overflows : constant Boolean := False; ++ Machine_Rounds : constant Boolean := True; ++ OpenVMS : constant Boolean := False; ++ Preallocated_Stacks : constant Boolean := False; ++ Signed_Zeros : constant Boolean := True; ++ Stack_Check_Default : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := False; ++ Support_64_Bit_Divides : constant Boolean := True; ++ Support_Aggregates : constant Boolean := True; ++ Support_Composite_Assign : constant Boolean := True; ++ Support_Composite_Compare : constant Boolean := True; ++ Support_Long_Shifts : constant Boolean := True; ++ Suppress_Standard_Library : constant Boolean := False; ++ Use_Ada_Main_Program_Name : constant Boolean := False; ++ ZCX_By_Default : constant Boolean := True; ++ GCC_ZCX_Support : constant Boolean := True; ++ Front_End_ZCX_Support : constant Boolean := False; ++ ++ -- Obsolete entries, to be removed eventually (bootstrap issues!) ++ ++ High_Integrity_Mode : constant Boolean := False; ++ Long_Shifts_Inlined : constant Boolean := True; ++ ++end System; -- 2.43.0