diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2018-01-20 19:20:47 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2018-01-20 19:20:47 +0000 |
commit | f89cd2532d4a6841974a4ffe1163139e1941c20c (patch) | |
tree | 4953b210b50fb36359dc9d54433b6f5d895c8d3d | |
parent | af866c4c8f065e1e87b169c7949952fe0869dc7c (diff) | |
download | toolchains-f89cd2532d4a6841974a4ffe1163139e1941c20c.tar.gz toolchains-f89cd2532d4a6841974a4ffe1163139e1941c20c.tar.bz2 |
Remove libnix glue
-rw-r--r-- | m68k-unknown-amigaos/recipes/patches/gcc/gcc6.p | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/m68k-unknown-amigaos/recipes/patches/gcc/gcc6.p b/m68k-unknown-amigaos/recipes/patches/gcc/gcc6.p index 6979667..8b4d30c 100644 --- a/m68k-unknown-amigaos/recipes/patches/gcc/gcc6.p +++ b/m68k-unknown-amigaos/recipes/patches/gcc/gcc6.p @@ -9660,50 +9660,6 @@ index 12067fdf5348..f0f069f6afa2 100644 /* Subclasses of rtx_def, using indentation to show the class hierarchy, along with the relevant invariant. -diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c -index 03cbde090cb3..83a5ab514c79 100644 ---- gcc/cp/g++spec.c -+++ gcc/cp/g++spec.c -@@ -262,7 +262,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, - #endif - - /* Add one for shared_libgcc or extra static library. */ -- num_args = argc + added + need_math + (library > 0) * 4 + 1; -+ num_args = argc + added + need_math + (library > 0) * 5 + 1; - new_decoded_options = XNEWVEC (struct cl_decoded_option, num_args); - - i = 0; -@@ -347,6 +347,30 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, - CL_DRIVER, &new_decoded_options[j]); - added_libraries++; - j++; -+ -+#ifdef TARGET_AMIGA -+ { -+ bool addglue = true; -+ /* do not add glue if exceptions are disabled. */ -+ for (int ii = 0; ii < argc; ++ii) -+ { -+ if (decoded_options[ii].opt_index == OPT_fexceptions) -+ addglue = decoded_options[ii].value; -+ } -+ if (addglue) -+ { -+ extern const char * -+ amiga_m68k_prefix_func (int argc, const char ** argv); -+ char const * cxxglue = "../lib/gcc/m68k-amigaos/" -+ DEFAULT_TARGET_VERSION -+ "/cxxglue.o"; -+ char const * p = amiga_m68k_prefix_func (1, &cxxglue); -+ generate_option_input_file (p, &new_decoded_options[j]); -+ ++j; -+ } -+ } -+#endif -+ - /* Add target-dependent static library, if necessary. */ - if ((static_link || library > 1) && LIBSTDCXX_STATIC != NULL) - { diff --git a/gcc/df-scan.c b/gcc/df-scan.c index 98de84405428..1f23452afe19 100644 --- gcc/df-scan.c @@ -10434,34 +10390,6 @@ index 6f6810cf0baf..7117e7983b53 100644 m68k-*-elf* | fido-*-elf) tmake_file="$tmake_file m68k/t-floatlib" ;; -diff --git a/libgcc/config/m68k/cxxglue.c b/libgcc/config/m68k/cxxglue.c -new file mode 100644 -index 000000000000..2a4e6374d088 ---- /dev/null -+++ libgcc/config/m68k/cxxglue.c -@@ -0,0 +1,22 @@ -+#include "stabs.h" -+ -+extern void __register_frame_info(void *, void *); -+extern void * _EH_FRAME_BEGINS__; -+extern void * _EH_FRAME_OBJECTS__; -+ -+void __init_eh() { -+ void ** frame = &_EH_FRAME_BEGINS__; -+ void ** object = &_EH_FRAME_OBJECTS__; -+ -+ int n = *(int *)frame++; -+ int m = *(int *)object++; -+ if (n != m) -+ return; -+ -+ while (n--) { -+ __register_frame_info(*frame++, *object++); -+ } -+} -+ -+ADD2INIT(__init_eh,127); -+ diff --git a/libgcc/config/m68k/fpgnulib.c b/libgcc/config/m68k/fpgnulib.c index fe41edf26aa0..90926104d8fd 100644 --- libgcc/config/m68k/fpgnulib.c @@ -10747,17 +10675,6 @@ index 1ee8782d9fd2..2365433a59b3 100644 + cat $< >> xfpgnulib__cmpxf2.c + \ No newline at end of file -diff --git a/libgcc/config/m68k/t-glue b/libgcc/config/m68k/t-glue -new file mode 100644 -index 000000000000..09cf7b47911c ---- /dev/null -+++ libgcc/config/m68k/t-glue -@@ -0,0 +1,5 @@ -+cxxglue.o: $(srcdir)/config/m68k/cxxglue.c -+ $(CC) $(CFLAGS) -c $< -noixemul -+ -+EXTRA_PARTS=cxxglue.o -+ diff --git a/libgcc/unwind-dw2.c b/libgcc/unwind-dw2.c index 1fb6026d123f..7bf0e4236f64 100644 --- libgcc/unwind-dw2.c |