diff options
author | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2013-04-26 14:25:48 +0000 |
---|---|---|
committer | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2013-04-26 14:25:48 +0000 |
commit | 5eaea87ce8b7e0fb430d583f60436d45f7cf674a (patch) | |
tree | 150ae28ad72172d3b2bd24026039a31d704da066 /debian/patches/ada-sjlj.diff | |
parent | 2c550a63928d484b28356305fd85e428511b47d3 (diff) | |
download | gcc-48-5eaea87ce8b7e0fb430d583f60436d45f7cf674a.tar.gz |
[ Matthias Klose ]
* Merge back changes from gnat-4.8 4.8.0-1~exp2.
[Ludovic Brenta]
* debian/patches/ada-libgnatprj.diff: do not include indepsw.o in the
library, it is used only in the gnattools.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.8@6721 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
Diffstat (limited to 'debian/patches/ada-sjlj.diff')
-rw-r--r-- | debian/patches/ada-sjlj.diff | 245 |
1 files changed, 117 insertions, 128 deletions
diff --git a/debian/patches/ada-sjlj.diff b/debian/patches/ada-sjlj.diff index ce21121..9765d7e 100644 --- a/debian/patches/ada-sjlj.diff +++ b/debian/patches/ada-sjlj.diff @@ -65,7 +65,7 @@ Index: b/src/libada/Makefile.in .PHONY: all @@ -97,26 +98,28 @@ - "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" + "CFLAGS=$(CFLAGS)" # Rules to build gnatlib. -.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool @@ -78,8 +78,8 @@ Index: b/src/libada/Makefile.in - && touch stamp-libada - -rm -rf adainclude - -rm -rf adalib -- $(LN_S) $(ADA_RTS_DIR) adainclude -- $(LN_S) $(ADA_RTS_DIR) adalib +- $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude +- $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib - -gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile - test -f stamp-libada || \ @@ -87,8 +87,8 @@ Index: b/src/libada/Makefile.in - && touch stamp-libada - -rm -rf adainclude - -rm -rf adalib -- $(LN_S) $(ADA_RTS_DIR) adainclude -- $(LN_S) $(ADA_RTS_DIR) adalib +- $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude +- $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib +$(GCC_DIR)/ada/gnatlib-sources-sjlj/a-except.ads: + $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) \ + EH_MECHANISM="" \ @@ -116,9 +116,9 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in =================================================================== --- a/src/gcc/ada/gcc-interface/Makefile.in +++ b/src/gcc/ada/gcc-interface/Makefile.in -@@ -2234,57 +2234,75 @@ - a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \ - s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads +@@ -2353,84 +2353,109 @@ + $(patsubst %$(objext),%.adb,$(GNATRTL_OBJS)), \ + $(ADA_EXCLUDE_SRCS)) -../stamp-gnatlib-$(RTSDIR): - @if [ ! -f stamp-gnatlib-$(RTSDIR) ] ; \ @@ -192,7 +192,7 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in -# Also install the .dSYM directories if they exist (these directories -# contain the debug information for the shared libraries on darwin) for file in gnat gnarl; do \ -- if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ +- if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 ]; then \ - $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ - $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ - fi; \ @@ -223,17 +223,7 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in + (cd $(DESTDIR)$(libsubdir); \ + ln -s rts-native/adainclude adainclude; \ + ln -s rts-native/adalib adalib;) - - # NOTE: The $(foreach ...) commands assume ";" is the valid separator between - # successive target commands. Although the Gnu make documentation -@@ -2295,30 +2313,37 @@ - - # GNULLI Begin ########################################################### - --../stamp-gnatlib1-$(RTSDIR): Makefile -- $(RMDIR) $(RTSDIR) -- $(MKDIR) $(RTSDIR) -- $(CHMOD) u+w $(RTSDIR) ++ +replace_zcx_by_default=\ +'s/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := $(zcx_by_default);/' + @@ -242,7 +232,11 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in + +gnatlib-sources-sjlj/a-except.ads: dir=$(dir $@) +gnatlib-sources-sjlj/a-except.ads: zcx_by_default=False -+ + +-../stamp-gnatlib1-$(RTSDIR): Makefile +- $(RMDIR) $(RTSDIR) +- $(MKDIR) $(RTSDIR) +- $(CHMOD) u+w $(RTSDIR) +gnatlib-sources-zcx/a-except.ads gnatlib-sources-sjlj/a-except.ads: + $(MKDIR) $(dir) + $(CHMOD) u+w $(dir) @@ -250,6 +244,9 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ - $(LN_S) $(fsrcpfx)ada/$(f) $(RTSDIR) ;) true + $(LN_S) $(fsrcpfx)ada/$(f) $(dir) ;) true + # Remove files not used +- $(RM) $(patsubst %,$(RTSDIR)/%,$(ADA_EXCLUDE_FILES)) ++ $(RM) $(patsubst %,$(dir)/%,$(ADA_EXCLUDE_FILES)) # Remove files to be replaced by target dependent sources $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ - $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)))) @@ -274,73 +271,65 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in - touch ../stamp-gnatlib1-$(RTSDIR) + $(CP) $(srcdir)/tsystem.h $(dir) - # GNULLI End ############################################################# - -@@ -2347,9 +2372,10 @@ + ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),) + OSCONS_CPP=../../$(DECC) -E /comment=as_is -DNATIVE \ +@@ -2457,9 +2482,11 @@ $(CP) $^ ./bldtools/oscons (cd ./bldtools/oscons ; gnatmake -q xoscons) -$(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons - $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s - (cd $(RTSDIR) ; \ ++.PRECIOUS: %/s-oscons.ads +%/s-oscons.ads: dir = $(dir $@) +%/s-oscons.ads: s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons + $(RM) $(dir)/s-oscons-tmplt.i $(dir)/s-oscons-tmplt.s + (cd $(dir) ; \ $(OSCONS_CPP) ; \ $(OSCONS_EXTRACT) ; \ - ../bldtools/oscons/xoscons) -@@ -2360,8 +2386,11 @@ + ../bldtools/oscons/xoscons s-oscons) +@@ -2470,9 +2497,12 @@ # Example: cd $(RTSDIR); ar rc libfoo.a $(LONG_LIST_OF_OBJS) # is guaranteed to overflow the buffer. -gnatlib: ../stamp-gnatlib1-$(RTSDIR) $(RTSDIR)/s-oscons.ads -- $(MAKE) -C $(RTSDIR) \ +%/libgnat$(arext): build_dir = $(dir $@) +%/libgnat$(arext): libgnarl = $(subst libgnat,libgnarl,$@) +%/libgnat$(arext): libgnala = $(subst libgnat,libgnala,$@) +%/libgnat$(arext): % %/s-oscons.ads + # C files +- $(MAKE) -C $(RTSDIR) \ + $(MAKE) -C $(build_dir) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ -@@ -2369,7 +2398,7 @@ - FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ +@@ -2481,7 +2511,7 @@ srcdir=$(fsrcdir) \ -f ../Makefile $(LIBGNAT_OBJS) + # Ada files - $(MAKE) -C $(RTSDIR) \ + $(MAKE) -C $(build_dir) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ADA_INCLUDES="" \ -@@ -2377,35 +2406,37 @@ - ADAFLAGS="$(GNATLIBFLAGS)" \ +@@ -2490,24 +2520,24 @@ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ srcdir=$(fsrcdir) \ -- -f ../Makefile \ -- $(GNATRTL_OBJS) + -f ../Makefile $(GNATRTL_OBJS) - $(RM) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnarl$(arext) - $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnat$(arext) \ -- $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o) +- $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) - $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnat$(arext) - $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnarl$(arext) \ - $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) - $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl$(arext) -- $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnala$(arext) \ -- $(addprefix $(RTSDIR)/,$(GNATRTL_LINEARALGEBRA_OBJS)) -- $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnala$(arext) -+ -f ../Makefile \ -+ $(GNATRTL_OBJS) + $(RM) $@ $(libgnarl) + $(AR_FOR_TARGET) $(AR_FLAGS) $@ \ -+ $(addprefix $(build_dir),$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o) ++ $(addprefix $(build_dir),$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o) + $(RANLIB_FOR_TARGET) $@ + $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnarl) \ + $(addprefix $(build_dir),$(GNATRTL_TASKING_OBJS)) + $(RANLIB_FOR_TARGET) $(libgnarl) -+ $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnala) \ -+ $(addprefix $(build_dir),$(GNATRTL_LINEARALGEBRA_OBJS)) -+ $(RANLIB_FOR_TARGET) $(libgnala) ifeq ($(GMEM_LIB),gmemlib) - $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgmem$(arext) \ - $(RTSDIR)/memtrack.o @@ -349,47 +338,49 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in + $(build_dir)memtrack.o + $(RANLIB_FOR_TARGET) $(build_dir)libgmem$(arext) endif +- $(CHMOD) a-wx $(RTSDIR)/*.ali - touch ../stamp-gnatlib-$(RTSDIR) # Warning: this target assumes that LIBRARY_VERSION has been set correctly. --gnatlib-shared-default: ../stamp-gnatlib1-$(RTSDIR) +-gnatlib-shared-default: - $(MAKE) -C $(RTSDIR) \ +%/$(libgnat) %/$(libgnat-sjlj): build_dir = $(dir $@) +%/$(libgnat) %/$(libgnat-sjlj): libgnarl = $(notdir $(subst libgnat,libgnarl,$@)) -+%/$(libgnat) %/$(libgnat-sjlj): libgnala = $(notdir $(subst libgnat,libgnala,$@)) +%/$(libgnat) %/$(libgnat-sjlj): % %/s-oscons.ads + $(MAKE) -C $(build_dir) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ - | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ - CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \ +@@ -2515,7 +2545,7 @@ + FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ srcdir=$(fsrcdir) \ -f ../Makefile $(LIBGNAT_OBJS) - $(MAKE) -C $(RTSDIR) \ + $(MAKE) -C $(build_dir) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ - | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ADA_INCLUDES="" \ -@@ -2415,160 +2446,56 @@ +@@ -2525,176 +2555,46 @@ srcdir=$(fsrcdir) \ -f ../Makefile \ $(GNATRTL_OBJS) - $(RM) $(RTSDIR)/libgna*$(soext) $(RTSDIR)/libgna*$(soext).1 -- cd $(RTSDIR); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ + $(RM) $(build_dir)/libgna*$(soext) $(build_dir)/libgna*$(soext).1 + cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ - $(TARGET_LIBGCC2_CFLAGS) \ + $(PICFLAG_FOR_TARGET) \ - -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ + -o $(notdir $@).1 \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ - g-trasym.o convert_addresses.o \ - $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ + $(SO_OPTS)$(notdir $@).1 \ $(MISCLIB) -lm -- cd $(RTSDIR); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \ + cd $(build_dir); $(LN_S) $(notdir $@).1 $(notdir $@) + cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ - $(TARGET_LIBGCC2_CFLAGS) \ + $(PICFLAG_FOR_TARGET) \ - -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \ + -o $(libgnarl).1 \ $(GNATRTL_TASKING_OBJS) \ @@ -404,7 +395,8 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in -# executables. Only the .ali, .a and .so files must remain. - rm -f $(RTSDIR)/*.o - $(CHMOD) a-wx $(RTSDIR)/*.ali -- ++ cd $(build_dir); $(LN_S) $(libgnarl).1 $(libgnarl) + -gnatlib-shared-dual: - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ @@ -421,19 +413,21 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in - MULTISUBDIR="$(MULTISUBDIR)" \ - THREAD_KIND="$(THREAD_KIND)" \ - gnatlib-shared-default -- ++gnatlib-shared-dual: gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx + -gnatlib-shared-dual-win32: - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ - GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ +- PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ - MULTISUBDIR="$(MULTISUBDIR)" \ - THREAD_KIND="$(THREAD_KIND)" \ - gnatlib - $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ -- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ - MULTISUBDIR="$(MULTISUBDIR)" \ - THREAD_KIND="$(THREAD_KIND)" \ @@ -446,23 +440,21 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in -gnatlib-shared-win32: - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ -- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ -- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ +- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ - MULTISUBDIR="$(MULTISUBDIR)" \ - THREAD_KIND="$(THREAD_KIND)" \ - gnatlib - $(RM) $(RTSDIR)/libgna*$(soext) -- cd $(RTSDIR); ../../xgcc -B../../ -shared -shared-libgcc \ -- $(TARGET_LIBGCC2_CFLAGS) \ +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ +- $(PICFLAG_FOR_TARGET) \ - -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ - $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) -- cd $(RTSDIR); ../../xgcc -B../../ -shared -shared-libgcc \ -+ cd $(build_dir); $(LN_S) $(libgnarl).1 $(libgnarl) -+# TODO: enable building the shared libgnala -+ifeq (libgnala-shared-enabled,yes) -+ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ - $(TARGET_LIBGCC2_CFLAGS) \ +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ +- $(PICFLAG_FOR_TARGET) \ - -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_TASKING_OBJS) \ - $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ @@ -471,19 +463,21 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in -gnatlib-shared-darwin: - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ -- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ -- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) -fno-common" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ +- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-common" \ - MULTISUBDIR="$(MULTISUBDIR)" \ - THREAD_KIND="$(THREAD_KIND)" \ - gnatlib - $(RM) $(RTSDIR)/libgnat$(soext) $(RTSDIR)/libgnarl$(soext) -- cd $(RTSDIR); ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \ - -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ - $(SO_OPTS) \ - -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ -- $(MISCLIB) -lm -- cd $(RTSDIR); ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ +- $(MISCLIB) +- cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ +- | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \ - -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(GNATRTL_TASKING_OBJS) \ - $(SO_OPTS) \ @@ -495,12 +489,7 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in - libgnarl$(soext) - cd $(RTSDIR); dsymutil libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) - cd $(RTSDIR); dsymutil libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) -+ -o $(libgnala).1 \ -+ $(GNATRTL_LINEARALGEBRA_OBJS) \ -+ $(SO_OPTS)$(libgnala).1 -+ cd $(build_dir); $(LN_S) $(libgnala).1 $(libgnala) -+endif - +- -gnatlib-shared-vms: - $(MAKE) $(FLAGS_TO_PASS) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ @@ -529,8 +518,7 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in - --for-linker=/noinform \ - --for-linker=SYMVEC_$$$$.opt \ - --for-linker=gsmatch=equal,$(GSMATCH_VERSION) -+gnatlib-shared-dual: gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx - +- -gnatlib-shared: +gnatlib-shared-zcx: rts = $(subst gnatlib,rts,$@) +gnatlib-shared-zcx: gnatlib-sources-zcx/a-except.ads @@ -539,21 +527,31 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in + $(MV) $(rts)/s.ads $(rts)/system.ads; \ + fi $(MAKE) $(FLAGS_TO_PASS) \ -+ EH_MECHANISM="-gcc" \ ++ EH_MECHANISM="-gcc" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ - TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ + PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ - $(GNATLIB_SHARED) -+ $(rts)/$(libgnat) ++ $(rts)/$(libgnat) +-# When building a SJLJ runtime for VxWorks, in addition to forcing +-# ZCX_By_default to False, we need to ensure that extra linker options +-# are not passed to prevent the inclusion of useless objects and +-# potential troubles from the presence of extra symbols and references +-# in some configurations. The inhibition is performed by commenting +-# the pragma instead of deleting the line, as the latter might result +-# in getting multiple blank lines, hence a style check error, as a +-# result. -gnatlib-sjlj: - $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \ - THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) - sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads -- $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads +- sed -e 's/\(pragma Linker.*crtbe.*\)/-- \1/' $(RTSDIR)/s.ads > $(RTSDIR)/s2.ads +- $(RM) $(RTSDIR)/s.ads +- $(MV) $(RTSDIR)/s2.ads $(RTSDIR)/system.ads +gnatlib-static-sjlj: rts = $(subst gnatlib,rts,$@) +gnatlib-static-sjlj: gnatlib-sources-sjlj/a-except.ads + if [ ! -d $(rts) ] ; then \ @@ -563,17 +561,17 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in $(MAKE) $(FLAGS_TO_PASS) \ EH_MECHANISM="" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ -@@ -2576,13 +2503,15 @@ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ +@@ -2703,13 +2603,15 @@ + FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ -- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib -+ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ -+ $(rts)/libgnat$(arext) +- PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib ++ PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ ++ $(rts)/libgnat.a -gnatlib-zcx: - $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" \ -- THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) +- THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) - sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads - $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads +gnatlib-static-zcx: rts = $(subst gnatlib,rts,$@) @@ -585,18 +583,14 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in $(MAKE) $(FLAGS_TO_PASS) \ EH_MECHANISM="-gcc" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ -@@ -2590,7 +2519,8 @@ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ +@@ -2718,10 +2620,15 @@ + FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ -- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib -+ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ +- PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib ++ PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ + $(rts)/libgnat$(arext) - # .s files for cross-building - gnat-cross: force -@@ -2598,6 +2528,10 @@ - ADA_INCLUDE_DIR = $(libsubdir)/adainclude ADA_RTL_OBJ_DIR = $(libsubdir)/adalib +ADA_NATIVE_INCLUDE_DIR = $(libsubdir)/rts-native/adainclude @@ -604,13 +598,13 @@ Index: b/src/gcc/ada/gcc-interface/Makefile.in +ADA_SJLJ_INCLUDE_DIR = $(libsubdir)/rts-sjlj/adainclude +ADA_SJLJ_RTL_OBJ_DIR = $(libsubdir)/rts-sjlj/adalib - # force no sibling call optimization on s-traceb.o so the number of stack - # frames to be skipped when computing a call chain is not modified by + # Special flags + Index: b/src/gnattools/Makefile.in =================================================================== --- a/src/gnattools/Makefile.in +++ b/src/gnattools/Makefile.in -@@ -35,12 +35,13 @@ +@@ -36,15 +36,16 @@ LN_S=@LN_S@ target_noncanonical=@target_noncanonical@ @@ -621,12 +615,16 @@ Index: b/src/gnattools/Makefile.in +ADA_INCLUDES=-nostdinc -I- -I. -I$(RTS) -I../libgnatvsn -I../libgnatprj LIB_VERSION=$(strip $(shell grep ' Library_Version :' \ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) --ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) -+ADA_LIBS := -L$(RTS) -lgnat-$(LIB_VERSION) - ADA_LIBS += -L../libgnatvsn -lgnatvsn - ADA_LIBS += -L../libgnatprj -lgnatprj +-SHARED_ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ++SHARED_ADA_LIBS := -L$(RTS) -lgnat-$(LIB_VERSION) + SHARED_ADA_LIBS += -L../libgnatvsn -lgnatvsn + SHARED_ADA_LIBS += -L../libgnatprj -lgnatprj +-STATIC_ADA_LIBS := ../gcc/ada/rts/libgnat.a ++STATIC_ADA_LIBS := ../gcc/ada/rts-static-zcx/libgnat.a + STATIC_GCC_LIBS := ../gcc/libcommon-target.a ../gcc/libcommon.a ../libcpp/libcpp.a \ + ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a -@@ -110,6 +111,7 @@ +@@ -118,6 +119,7 @@ .PHONY: gnattools gnattools-native gnattools-cross regnattools gnattools: @default_gnattools_target@ @@ -634,10 +632,10 @@ Index: b/src/gnattools/Makefile.in BODIES := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.adb,$(f)))) SPECS := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.ads,$(f)))) -@@ -120,9 +122,12 @@ - for file in $(BODIES) $(SPECS); do \ - $(LN_S) -f $$file .; \ - done +@@ -133,9 +135,12 @@ + rm -f $(word 1,$(subst <, ,$(PAIR)));\ + $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ + $(word 1,$(subst <, ,$(PAIR)));) +# Move the RTS object files away lest they be linked statically into the +# tools. Only the .ali, .a and .so files must remain. + (cd $(RTS); mkdir obj; mv *.o obj; chmod a-wx *.ali) @@ -648,24 +646,15 @@ Index: b/src/gnattools/Makefile.in gnattools-native: ../libgnatvsn/libgnatvsn.so gnattools-native: stamp-gnattools-sources gnattools-native: $(TOOLS) -@@ -138,7 +143,7 @@ +@@ -151,7 +156,7 @@ $(GCC) -o $@ $^ \ - ../libgnatprj/libgnatprj.a \ - ../libgnatvsn/libgnatvsn.a \ -- ../gcc/ada/rts/libgnat.a \ -+ ../gcc/ada/rts-static-zcx/libgnat.a \ - ../libiberty/libiberty.a + ../libgnatprj/libgnatprj.a \ + ../libgnatvsn/libgnatvsn.a \ +- ../gcc/ada/rts/libgnat.a $(STATIC_GCC_LIBS) ++ $(STATIC_ADA_LIBS) $(STATIC_GCC_LIBS) gnatlink: $(GNATLINK_OBJS) b_gnatl.o -@@ -156,7 +161,7 @@ - $(GCC) -o $@ $(ADA_CFLAGS) $^ \ - ../libgnatprj/libgnatprj.a \ - ../libgnatvsn/libgnatvsn.a \ -- ../gcc/ada/rts/libgnat.a \ -+ ../gcc/ada/rts-static-zcx/libgnat.a \ - ../libiberty/libiberty.a - - gnatmake: $(GNATMAKE_OBJS) b_gnatm.o + $(GCC) -o $@ $^ $(SHARED_ADA_LIBS) $(STATIC_GCC_LIBS) Index: b/src/libgnatprj/Makefile.in =================================================================== --- a/src/libgnatprj/Makefile.in @@ -716,7 +705,7 @@ Index: b/src/gcc/ada/gcc-interface/Make-lang.in =================================================================== --- a/src/gcc/ada/gcc-interface/Make-lang.in +++ b/src/gcc/ada/gcc-interface/Make-lang.in -@@ -70,7 +70,8 @@ +@@ -85,7 +85,8 @@ "ADA_FOR_TARGET=$(ADA_FOR_TARGET)" \ "INSTALL=$(INSTALL)" \ "INSTALL_DATA=$(INSTALL_DATA)" \ @@ -724,5 +713,5 @@ Index: b/src/gcc/ada/gcc-interface/Make-lang.in + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" - # Say how to compile Ada programs. - .SUFFIXES: .ada .adb .ads + # List of Ada tools to build and install + ADA_TOOLS=gnatbind gnatchop gnat gnatkr gnatlink gnatls gnatmake \ |