os/linux/elf: fix arch compat check on ppc
This commit is contained in:
parent
f5a12a3860
commit
c76c902dbc
@ -31,6 +31,8 @@ module ELFShim
|
|||||||
private_constant :ARCHITECTURE_I386
|
private_constant :ARCHITECTURE_I386
|
||||||
ARCHITECTURE_POWERPC = 0x14
|
ARCHITECTURE_POWERPC = 0x14
|
||||||
private_constant :ARCHITECTURE_POWERPC
|
private_constant :ARCHITECTURE_POWERPC
|
||||||
|
ARCHITECTURE_POWERPC64 = 0x15
|
||||||
|
private_constant :ARCHITECTURE_POWERPC64
|
||||||
ARCHITECTURE_ARM = 0x28
|
ARCHITECTURE_ARM = 0x28
|
||||||
private_constant :ARCHITECTURE_ARM
|
private_constant :ARCHITECTURE_ARM
|
||||||
ARCHITECTURE_X86_64 = 0x3E
|
ARCHITECTURE_X86_64 = 0x3E
|
||||||
@ -61,7 +63,8 @@ module ELFShim
|
|||||||
@arch ||= case read_uint16(ARCHITECTURE_OFFSET)
|
@arch ||= case read_uint16(ARCHITECTURE_OFFSET)
|
||||||
when ARCHITECTURE_I386 then :i386
|
when ARCHITECTURE_I386 then :i386
|
||||||
when ARCHITECTURE_X86_64 then :x86_64
|
when ARCHITECTURE_X86_64 then :x86_64
|
||||||
when ARCHITECTURE_POWERPC then :powerpc
|
when ARCHITECTURE_POWERPC then :ppc32
|
||||||
|
when ARCHITECTURE_POWERPC64 then :ppc64
|
||||||
when ARCHITECTURE_ARM then :arm
|
when ARCHITECTURE_ARM then :arm
|
||||||
when ARCHITECTURE_AARCH64 then :arm64
|
when ARCHITECTURE_AARCH64 then :arm64
|
||||||
else :dunno
|
else :dunno
|
||||||
@ -71,6 +74,9 @@ module ELFShim
|
|||||||
def arch_compatible?(wanted_arch)
|
def arch_compatible?(wanted_arch)
|
||||||
return true unless elf?
|
return true unless elf?
|
||||||
|
|
||||||
|
# Treat ppc64le and ppc64 the same
|
||||||
|
wanted_arch = :ppc64 if wanted_arch == :ppc64le
|
||||||
|
|
||||||
wanted_arch == arch
|
wanted_arch == arch
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user