cros_setup_toolchains: fix binary file reading
We're reading ELF files here, so don't try reading as text.
BUG=chromium:997354
TEST=`cros_setup_toolchains --create-packages` works
Change-Id: I31e838f553d7ad38511ecb7c0aa35256ce0055b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1948250
Reviewed-by: Michael Mortensen <mmortensen@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_setup_toolchains.py b/scripts/cros_setup_toolchains.py
index 1d1cc9e..eba2064 100644
--- a/scripts/cros_setup_toolchains.py
+++ b/scripts/cros_setup_toolchains.py
@@ -851,13 +851,13 @@
Returns:
True if we think |elf| is a native ELF
"""
- with open(elf) as f:
+ with open(elf, 'rb') as f:
data = f.read(20)
# Check the magic number, EI_CLASS, EI_DATA, and e_machine.
- return (data[0:4] == '\x7fELF' and
- data[4] == '\x02' and
- data[5] == '\x01' and
- data[18] == '\x3e')
+ return (data[0:4] == b'\x7fELF' and
+ data[4] == b'\x02' and
+ data[5] == b'\x01' and
+ data[18] == b'\x3e')
def IsPathPackagable(ptype, path):