tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch added
> avoid gcc-5 optimization malloc + memset = calloc (Fridolin Pokorny)
This commit is contained in:
		
							parent
							
								
									5ea5c31aec
								
							
						
					
					
						commit
						3b4edba158
					
				
							
								
								
									
										59
									
								
								tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| From 624d3aebb6e6afadb4f35e894d11b5ebe290cd87 Mon Sep 17 00:00:00 2001 | ||||
| From: christos <christos> | ||||
| Date: Thu, 28 May 2015 11:47:03 +0000 | ||||
| Subject: [PATCH 1/2] avoid gcc-5 optimization malloc + memset = calloc | ||||
|  (Fridolin Pokorny) | ||||
| 
 | ||||
| ---
 | ||||
|  tc.alloc.c | 5 ++++- | ||||
|  1 file changed, 4 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/tc.alloc.c b/tc.alloc.c
 | ||||
| index b9aec63..c1cb330 100644
 | ||||
| --- a/tc.alloc.c
 | ||||
| +++ b/tc.alloc.c
 | ||||
| @@ -348,10 +348,13 @@ calloc(size_t i, size_t j)
 | ||||
|  { | ||||
|  #ifndef lint | ||||
|      char *cp; | ||||
| +    size_t k;
 | ||||
|   | ||||
|      i *= j; | ||||
|      cp = xmalloc(i); | ||||
| -    memset(cp, 0, i);
 | ||||
| +    /* Stop gcc 5.x from optimizing malloc+memset = calloc */
 | ||||
| +    k = i;
 | ||||
| +    memset(cp, 0, k);
 | ||||
|   | ||||
|      return ((memalign_t) cp); | ||||
|  #else | ||||
| -- 
 | ||||
| 2.5.5 | ||||
| 
 | ||||
| 
 | ||||
| From 05e7406049bd2686dee0ee8d819dcd38eb131f6f Mon Sep 17 00:00:00 2001 | ||||
| From: christos <christos> | ||||
| Date: Tue, 7 Jul 2015 12:24:54 +0000 | ||||
| Subject: [PATCH 2/2] make k volatile to prevent gcc-5 memset() optimization | ||||
|  (Fridolin Pokorny) | ||||
| 
 | ||||
| ---
 | ||||
|  tc.alloc.c | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/tc.alloc.c b/tc.alloc.c
 | ||||
| index c1cb330..f68a8c5 100644
 | ||||
| --- a/tc.alloc.c
 | ||||
| +++ b/tc.alloc.c
 | ||||
| @@ -348,7 +348,7 @@ calloc(size_t i, size_t j)
 | ||||
|  { | ||||
|  #ifndef lint | ||||
|      char *cp; | ||||
| -    size_t k;
 | ||||
| +    volatile size_t k;
 | ||||
|   | ||||
|      i *= j; | ||||
|      cp = xmalloc(i); | ||||
| -- 
 | ||||
| 2.5.5 | ||||
| 
 | ||||
| @ -1,18 +0,0 @@ | ||||
| diff --git a/tc.alloc.c b/tc.alloc.c
 | ||||
| index b87f9e9..06e0405 100644
 | ||||
| --- a/tc.alloc.c
 | ||||
| +++ b/tc.alloc.c
 | ||||
| @@ -348,10 +348,12 @@ calloc(size_t i, size_t j)
 | ||||
|  { | ||||
|  #ifndef lint | ||||
|      char *cp; | ||||
| +    volatile size_t k;
 | ||||
|   | ||||
|      i *= j; | ||||
|      cp = xmalloc(i); | ||||
| -    memset(cp, 0, i);
 | ||||
| +    k = i;
 | ||||
| +    memset(cp, 0, k);
 | ||||
|   | ||||
|      return ((memalign_t) cp); | ||||
|  #else | ||||
| @ -31,6 +31,7 @@ Source: ftp://ftp.astron.com/pub/tcsh/%{name}-%{version}.tar.gz | ||||
| Patch000: tcsh-6.19.00-000-announcement.patch | ||||
| Patch001: tcsh-6.19.00-001-remove-CFLAGS-for-gethost.patch | ||||
| Patch002: tcsh-6.19.00-002-fix-error-messages.patch | ||||
| Patch003: tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch | ||||
| 
 | ||||
| 
 | ||||
| # Downstream patches -- these should be always included when doing rebase: | ||||
| @ -40,10 +41,8 @@ Patch100:  tcsh-6.19.00-manpage-memoryuse.patch | ||||
| 
 | ||||
| # Patches to be removed -- deprecated functionality which shall be removed at | ||||
| # ---------------------    some point in the future: | ||||
| Patch101: tcsh-6.19.00-gcc5-calloc.patch | ||||
| Patch102: tcsh-6.19.00-tcsh_posix_status-deprecated.patch | ||||
| 
 | ||||
| # NOTE: Patch101 has been accepted by upstream - http://mx.gw.com/pipermail/tcsh-bugs/2015-May/000944.html | ||||
| # NOTE: Patch102 should be removed in Fedora 25! | ||||
| 
 | ||||
| 
 | ||||
| @ -156,6 +155,7 @@ fi | ||||
|     tcsh-6.19.00-000-announcement.patch | ||||
|     tcsh-6.19.00-001-remove-CFLAGS-for-gethost.patch | ||||
|     tcsh-6.19.00-002-fix-error-messages.patch | ||||
|     tcsh-6.19.00-003-avoid-gcc5-calloc-optimization.patch (replaces tcsh-6.19.00-gcc5-calloc.patch) | ||||
| 
 | ||||
| * Thu Apr 21 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 6.19.00-6 | ||||
| - Drop tcsh-6.15.00-closem.patch - issue not reproducible, patch not accepted by upstream | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user