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} | Epoch:          %{perl_epoch} | ||||||
| Version:        %{perl_version} | Version:        %{perl_version} | ||||||
| # release number must be even higher, because dual-lived modules will be broken otherwise | # 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 | Summary:        Practical Extraction and Report Language | ||||||
| Url:            https://www.perl.org/ | Url:            https://www.perl.org/ | ||||||
| Source0:        https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz | 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 | # 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 | 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 | # Update some of the bundled modules | ||||||
| # see http://fedoraproject.org/wiki/Perl/perl.spec for instructions | # 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 | %patch58 -p1 | ||||||
| %patch200 -p1 | %patch200 -p1 | ||||||
| %patch201 -p1 | %patch201 -p1 | ||||||
|  | %patch202 -p1 | ||||||
| 
 | 
 | ||||||
| %if !%{defined perl_bootstrap} | %if !%{defined perl_bootstrap} | ||||||
| # Local patch tracking | # 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 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 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 Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ | ||||||
|  |     'Fedora Patch202: Add definition of OPTIMIZE to .ph files (bug #2159760)' \ | ||||||
|     %{nil} |     %{nil} | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| @ -7103,6 +7108,10 @@ popd | |||||||
| 
 | 
 | ||||||
| # Old changelog entries are preserved in CVS. | # Old changelog entries are preserved in CVS. | ||||||
| %changelog | %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 | * Wed Jun 23 2021 Petr Pisar <ppisar@redhat.com> - 4:5.32.1-471 | ||||||
| - XSLoader requires DynaLoader | - XSLoader requires DynaLoader | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user