Import rpm: 8446b775a45b0abc4c16c39681c685ef5b48100e
This commit is contained in:
		
							parent
							
								
									f86d7006a8
								
							
						
					
					
						commit
						6977ffbca0
					
				
							
								
								
									
										39
									
								
								perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| From 6d9d949fb4962e32636aee48a948081d8936d318 Mon Sep 17 00:00:00 2001 | ||||
| From: Jitka Plesnikova <jplesnik@redhat.com> | ||||
| Date: Wed, 11 Jan 2023 09:12:18 +0100 | ||||
| Subject: [PATCH] Add definition of OPTIMIZE to .ph files | ||||
| 
 | ||||
| The fortify.h header includes a test to ensure that -O is used when | ||||
| compiling with _FORTIFY_SOURCE, and the header looks for OPTIMIZE, which | ||||
| is set by the compiler whenever -O is used.  Perl translates this test | ||||
| to the .ph file, but nothing ever sets OPTIMIZE. This causes a warning | ||||
| for anything that uses features.ph. | ||||
| 
 | ||||
| _FORTIFY_SOURCE is defined in /usr/lib64/perl5/_h2ph_pre.ph which is | ||||
| generated by h2ph. It uses value of @Config{'ccsymbols', 'cppsymbols', | ||||
| 'cppccsymbols'} which does not contain definition for OPTIMIZE. | ||||
| 
 | ||||
| The patch updated h2ph to add OPTIMIZE if -O is used. | ||||
| ---
 | ||||
|  utils/h2ph.PL | 5 +++++ | ||||
|  1 file changed, 5 insertions(+) | ||||
| 
 | ||||
| diff --git a/utils/h2ph.PL b/utils/h2ph.PL
 | ||||
| index afa53c2..3950d11 100644
 | ||||
| --- a/utils/h2ph.PL
 | ||||
| +++ b/utils/h2ph.PL
 | ||||
| @@ -865,6 +865,11 @@ sub _extract_cc_defines
 | ||||
|      my $allsymbols  = join " ", | ||||
|  	@Config{'ccsymbols', 'cppsymbols', 'cppccsymbols'}; | ||||
|   | ||||
| +    # If optimizing -O2 is used, add the definition
 | ||||
| +    if ($Config{'ccflags'} =~ /(?:\s+|^)-O([\d]+)(?:\s+|$)/) {
 | ||||
| +	$allsymbols .= " __OPTIMIZE__=$1";
 | ||||
| +    }
 | ||||
| +
 | ||||
|      # Split compiler pre-definitions into 'key=value' pairs: | ||||
|      while ($allsymbols =~ /([^\s]+)=((\\\s|[^\s])+)/g) { | ||||
|  	$define{$1} = $2; | ||||
| -- 
 | ||||
| 2.39.0 | ||||
| 
 | ||||
							
								
								
									
										11
									
								
								perl.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								perl.spec
									
									
									
									
									
								
							| @ -100,7 +100,7 @@ License:        GPL+ or Artistic | ||||
| Epoch:          %{perl_epoch} | ||||
| Version:        %{perl_version} | ||||
| # release number must be even higher, because dual-lived modules will be broken otherwise | ||||
| Release:        471%{?dist} | ||||
| Release:        472%{?dist} | ||||
| Summary:        Practical Extraction and Report Language | ||||
| Url:            https://www.perl.org/ | ||||
| Source0:        https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz | ||||
| @ -286,6 +286,9 @@ Patch200:       perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li | ||||
| # Link XS modules to libperl.so with EU::MM on Linux, bug #960048 | ||||
| Patch201:       perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch | ||||
| 
 | ||||
| # If optimizing -O is used, add the definition to .ph files, bug #2159760 | ||||
| Patch202:       perl-5.36.0-Add-definition-of-OPTIMIZE-to-.ph-files.patch | ||||
| 
 | ||||
| # Update some of the bundled modules | ||||
| # see http://fedoraproject.org/wiki/Perl/perl.spec for instructions | ||||
| 
 | ||||
| @ -4337,6 +4340,7 @@ you're not running VMS, this module does nothing. | ||||
| %patch58 -p1 | ||||
| %patch200 -p1 | ||||
| %patch201 -p1 | ||||
| %patch202 -p1 | ||||
| 
 | ||||
| %if !%{defined perl_bootstrap} | ||||
| # Local patch tracking | ||||
| @ -4394,6 +4398,7 @@ perl -x patchlevel.h \ | ||||
|     'Fedora Patch57: Fix an arithmetic left shift of a minimal integer value (GH#18639)' \ | ||||
|     'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ | ||||
|     'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ | ||||
|     'Fedora Patch202: Add definition of OPTIMIZE to .ph files (bug #2159760)' \ | ||||
|     %{nil} | ||||
| %endif | ||||
| 
 | ||||
| @ -7103,6 +7108,10 @@ popd | ||||
| 
 | ||||
| # Old changelog entries are preserved in CVS. | ||||
| %changelog | ||||
| * Wed Jan 18 2023 Jitka Plesnikova <jplesnik@redhat.com> - 4:5.32.1-472 | ||||
| - Add definition of OPTIMIZE to .ph files, if optimizing is used | ||||
|   (bug#2159760) | ||||
| 
 | ||||
| * Wed Jun 23 2021 Petr Pisar <ppisar@redhat.com> - 4:5.32.1-471 | ||||
| - XSLoader requires DynaLoader | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user