diff options
author | Martin Liska <mliska@suse.cz> | 2022-10-13 15:54:17 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2022-10-13 15:54:17 +0200 |
commit | bd21c04269deded2c7476ceca1100a26f28ea526 (patch) | |
tree | 197bf75eedac69362078a4ccc0afe5615c45c327 /libgcc | |
parent | d9e7934d25da4a78ffef1f738206aa1d897911df (diff) | |
parent | 786e4c024f941671a233f5779d73a5d22f4e9588 (diff) | |
download | gcc-bd21c04269deded2c7476ceca1100a26f28ea526.zip gcc-bd21c04269deded2c7476ceca1100a26f28ea526.tar.gz gcc-bd21c04269deded2c7476ceca1100a26f28ea526.tar.bz2 |
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 14 | ||||
-rw-r--r-- | libgcc/config.host | 31 | ||||
-rw-r--r-- | libgcc/libgcov-driver.c | 2 | ||||
-rw-r--r-- | libgcc/libgcov.h | 5 |
4 files changed, 47 insertions, 5 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 06240c1..48a328a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,17 @@ +2022-10-12 Martin Liska <mliska@suse.cz> + + * libgcov-driver.c: Use new function. + * libgcov.h (gcov_write_summary): Rename to ... + (gcov_write_object_summary): ... this. + +2022-10-11 Olivier Hainque <hainque@adacore.com> + + * config.host (*vxworks*): When enable_shared, add + libgcc and crtstuff "shared" fragments for rtp except + large code model. + (aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from + the list of fragments. + 2022-10-06 Jakub Jelinek <jakub@redhat.com> * config/arc/linux-unwind.h (arc_fallback_frame_state): Use diff --git a/libgcc/config.host b/libgcc/config.host index 9dcc253..0fbf9a3 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -410,7 +410,7 @@ aarch64*-*-vxworks7*) extra_parts="$extra_parts crtfastmath.o" md_unwind_header=aarch64/aarch64-unwind.h tmake_file="${tmake_file} ${cpu_type}/t-aarch64" - tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc" + tmake_file="${tmake_file} ${cpu_type}/t-lse" tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" tmake_file="${tmake_file} t-dfprules" ;; @@ -1549,6 +1549,35 @@ aarch64*-*-*) ;; esac +# Setup to build a shared libgcc for VxWorks when that was requested, +# for library variants that support it (rtp only, code model not large). +# + +case ${host} in +*vxworks*) + case ${with_multisubdir}-${enable_shared} in + *large*) + ;; + *mrtp*-yes) + tmake_file="${tmake_file} t-libgcc-pic" + + # Arrange to set a soname on libgcc_s so DT_NEEDED entries + # for it refer to that alone. This ensures absence of path + # components which would be incorrect as the runtime loader + # on target has no visibility over the host filesystem. + tmake_file="${tmake_file} t-slibgcc-gld-nover" + tmake_file="${tmake_file} t-slibgcc" + + # t-slibgcc-libgcc is needed on at least aarch64 (for + # lse) and at most harmless on other targets. + tmake_file="${tmake_file} t-slibgcc-libgcc" + + tmake_file="${tmake_file} t-crtstuff-pic t-vxcrtstuffS" + ;; + esac + ;; +esac + # The vxworks threads implementation relies on a few extra sources, # which we arrange to add after everything else: diff --git a/libgcc/libgcov-driver.c b/libgcc/libgcov-driver.c index aba62d5..e1b74c8 100644 --- a/libgcc/libgcov-driver.c +++ b/libgcc/libgcov-driver.c @@ -520,7 +520,7 @@ write_one_data (const struct gcov_info *gi_ptr, #ifdef NEED_L_GCOV /* Generate whole program statistics. */ - gcov_write_summary (GCOV_TAG_OBJECT_SUMMARY, prg_p); + gcov_write_object_summary (prg_p); #endif /* Write execution counts for each function. */ diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index c7545cc..5e7bd0e 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -118,7 +118,7 @@ typedef unsigned gcov_type_unsigned __attribute__ ((mode (QI))); #define gcov_rewrite __gcov_rewrite #define gcov_is_error __gcov_is_error #define gcov_write_unsigned __gcov_write_unsigned -#define gcov_write_summary __gcov_write_summary +#define gcov_write_object_summary __gcov_write_object_summary #define gcov_read_unsigned __gcov_read_unsigned #define gcov_read_counter __gcov_read_counter #define gcov_read_summary __gcov_read_summary @@ -342,8 +342,7 @@ extern int __gcov_execve (const char *, char *const [], char *const []) ATTRIBUTE_HIDDEN; /* Functions that only available in libgcov. */ -GCOV_LINKAGE void gcov_write_summary (gcov_unsigned_t /*tag*/, - const struct gcov_summary *) +GCOV_LINKAGE void gcov_write_object_summary (const struct gcov_summary *) ATTRIBUTE_HIDDEN; GCOV_LINKAGE void gcov_rewrite (void) ATTRIBUTE_HIDDEN; |