Matthias Klose writes: > thanks for merging back the Ada changes. r7211 did basically remove > the go-use-gold.diff patch, which I did undo again.
OK. > upstream now has zcx exception support for ARM, so would it be > possible to drop the sjlj based exception support for the jessie > release? Is anybody using this on platforms where the zcx support is > available? Asking because the current support isn't good enough for > cross-building the package. I'd be more than happy to switch to ZCX by default on ARM but I'm reluctant to drop support for SJLJ entirely (it is provided as an optional run-time library package, gnat-x.y-sjlj, containing only the static library). Many cross targets in particular require SJLJ. (i.e. when GNAT is built as a cross-compiler, not when it is cross-built as a native compiler for another arch). I seem to remember that distributed programs using PolyORB also require (or used to require) SJLJ. Currently, all architectures use ZCX by default, except arm, armel and armhf. Removing this special case would probably make it less difficult to cross-build the package. I'd be happy further to improve this. For starters, is it OK if I apply this change: # # old_revision [7bba5de1abb7ad3b6377861211f78f74e2e5b873] # # patch "debian/rules.defs" # from [9bcc0582ad336443ec66faf5d20bc39e3bb8afd7] # to [0ffcd613785071cd79a4f771b5ff9de624d9577a] # ============================================================ --- debian/rules.defs 9bcc0582ad336443ec66faf5d20bc39e3bb8afd7 +++ debian/rules.defs 0ffcd613785071cd79a4f771b5ff9de624d9577a @@ -536,29 +536,8 @@ ifeq ($(with_ada),yes) ifeq ($(with_ada),yes) enabled_languages += ada with_libgnat := yes - # There are two exception handling mechanisms: ZCX (Zero-Cost - # eXceptions) and SJLJ (setjump/longjump), selected and supported by - # libgnat. Thus we build both versions of libgnat on architectures - # that support both (see ada-sjlj.diff). Most cpus support both - # mechanisms; here, we declare the few that support only one. - libgnat_zcx_only_cpus := - libgnat_sjlj_only_cpus := arm armel armhf - ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libgnat_sjlj_only_cpus))) - with_gnat_zcx := no - else - with_gnat_zcx := yes - endif - ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libgnat_zcx_only_cpus))) - with_gnat_sjlj := no - else - with_gnat_sjlj := yes - endif - ifeq ($(with_gnat_zcx)-$(with_gnat_sjlj),no-no) - # TODO: support cpus that do not support exceptions at all, - # perhaps by building a restricted runtime library? For now, flag - # this as a packaging error. - $(error this target supports neither ZCX nor SJLJ) - endif + with_gnat_zcx := yes + with_gnat_sjlj := yes endif # C++ ------------------------- I'm hesitant as to whether I should drop the two variables, with_gnat_zcx and with_gnat_sjlj, entirely. Removing them implies dropping support for any future architecture that supports only one mechanism (all current architectures do support both, now). But it would simplify the Debian build machinery quite a bit. > Also is there any progress in upstreaming the libgnatproj* additions? No progress so far, sorry. -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/874n2rdzp6....@ludovic-brenta.org