8.0.6-3
- backport "Do not probe to find main data root start if dl_iterate_phdr exists" upstream fix for https://bugzilla.redhat.com/show_bug.cgi?id=2063942
This commit is contained in:
		
							parent
							
								
									d00480593d
								
							
						
					
					
						commit
						126a052cc2
					
				| @ -0,0 +1,44 @@ | ||||
| From b2875e6e5262785056d49ad2f94bfed295977b2d Mon Sep 17 00:00:00 2001 | ||||
| From: Ivan Maidanski <ivmai@mail.ru> | ||||
| Date: Mon, 13 Jun 2022 12:28:56 -0400 | ||||
| Subject: [PATCH] Do not probe to find main data root start if dl_iterate_phdr | ||||
|  exists | ||||
| 
 | ||||
| Issue #432 (bdwgc). | ||||
| 
 | ||||
| This avoids invocation of GC_find_limit to get GC_data_start value in | ||||
| case of GC_register_data_segments is not called. | ||||
| 
 | ||||
| * misc.c [SEARCH_FOR_DATA_START] (GC_init): Call | ||||
| GC_init_linux_data_start() only if GC_REGISTER_MAIN_STATIC_DATA(); | ||||
| move GC_init_linux_data_start() call down (to be close but precede | ||||
| GC_dirty_init call); add comment. | ||||
| ---
 | ||||
|  misc.c | 11 ++++++----- | ||||
|  1 file changed, 6 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/misc.c b/misc.c
 | ||||
| index 0869e01..02dc430 100644
 | ||||
| --- a/misc.c
 | ||||
| +++ b/misc.c
 | ||||
| @@ -1186,11 +1186,12 @@ GC_API void GC_CALL GC_init(void)
 | ||||
|          /* entirety as part of the root set.  This will grow them to    */ | ||||
|          /* maximum size, and is generally not desirable.                */ | ||||
|  #   endif | ||||
| -#   if defined(SEARCH_FOR_DATA_START)
 | ||||
| -        GC_init_linux_data_start();
 | ||||
| -#   endif
 | ||||
| -#   if defined(NETBSD) && defined(__ELF__)
 | ||||
| -        GC_init_netbsd_elf();
 | ||||
| +#   ifdef SEARCH_FOR_DATA_START
 | ||||
| +        /* For MPROTECT_VDB, the temporary fault handler should be        */
 | ||||
| +        /* installed first, before the write fault one in GC_dirty_init.  */
 | ||||
| +        if (GC_REGISTER_MAIN_STATIC_DATA()) GC_init_linux_data_start();
 | ||||
| +#   elif defined(NETBSD) && defined(__ELF__)
 | ||||
| +        if (GC_REGISTER_MAIN_STATIC_DATA()) GC_init_netbsd_elf();
 | ||||
|  #   endif | ||||
|  #   if !defined(THREADS) || defined(GC_PTHREADS) \ | ||||
|          || defined(NN_PLATFORM_CTR) || defined(NINTENDO_SWITCH) \ | ||||
| -- 
 | ||||
| 2.36.0 | ||||
| 
 | ||||
							
								
								
									
										8
									
								
								gc.spec
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								gc.spec
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| Summary: Garbage collector for C and C++ | ||||
| Name:    gc | ||||
| Version: 8.0.6 | ||||
| Release: 2%{?dist} | ||||
| Release: 3%{?dist} | ||||
| 
 | ||||
| License: BSD | ||||
| URL:     https://www.hboehm.info/gc/ | ||||
| @ -10,6 +10,7 @@ Source0: https://github.com/ivmai/bdwgc/releases/download/v%{version}/gc-%{versi | ||||
| ## upstreamable patches | ||||
| 
 | ||||
| ## upstream patches | ||||
| Patch0001: 0001-Do-not-probe-to-find-main-data-root-start-if-dl_iter.patch | ||||
| 
 | ||||
| ## downstream patches | ||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=1551671 | ||||
| @ -103,6 +104,11 @@ make check %{?arch_ignore} | ||||
| 
 | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Jun 16 2022 Alexandra Hájková <ahajkova@redhat.com> - 8.0.6-3 | ||||
| - backport upstream "Do not probe to find main data root start if | ||||
|   dl_iterate_phdr exists" | ||||
| - https://bugzilla.redhat.com/show_bug.cgi?id=2063942 | ||||
| 
 | ||||
| * Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.6-2 | ||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user