shim/linker-version.pl
Gary Ching-Pang Lin e3245db390 Accepting request 865543 from home:gary_lin:branches:devel:openSUSE:Factory
- Update the SLE signature
- Exclude some patches from x86_64 to avoid breaking the signature
- Add shim-correct-license-in-headers.patch back for x86_64 to
  match the SLE signature
- Add linker-version.pl to modify the EFI/PE header to match the
  SLE signature

OBS-URL: https://build.opensuse.org/request/show/865543
OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory/shim?expand=0&rev=170
2021-01-22 04:22:49 +00:00

25 lines
687 B
Perl

#!/usr/bin/perl -w
#
# Modify the linker version in the EFI/PE header
#
# NOTE: only use this script when the signature doesn't match after
# a binutils upgrade
#
use strict;
# The target version of binutils: 2.32
my $major_linker_version = 2;
my $minor_linker_version = 32;
my ($file) = @ARGV;
die "$file: $!\n" unless open(my $fh, '+<', $file);
# Set MajorLinkerVersion at 0x9a
die "seek $file: $!\n" unless seek($fh, 0x9a, 0);
die "write $file: $!\n" unless print $fh pack('C', $major_linker_version);
# Set MinorLinkerVersion at 0x9b
die "seek $file: $!\n" unless seek($fh, 0x9b, 0);
die "write $file: $!\n" unless print $fh pack('C', $minor_linker_version);
close($fh);