From 3aecba10f7d1d1773ddb83d2bb167ab7b026c183 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Tue, 25 Jul 2017 09:44:30 -0700 Subject: [PATCH] scripts: add version check for pyelftools Versions before 0.24 have string handling issues in Python 3. Signed-off-by: Andrew Boie --- scripts/gen_gdt.py | 6 ++++++ scripts/gen_idt.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/scripts/gen_gdt.py b/scripts/gen_gdt.py index 8af8e7aa72b..cd4cc460ed4 100755 --- a/scripts/gen_gdt.py +++ b/scripts/gen_gdt.py @@ -8,9 +8,15 @@ import argparse import sys import struct import os +import elftools +from distutils.version import LooseVersion from elftools.elf.elffile import ELFFile from elftools.elf.sections import SymbolTableSection +if LooseVersion(elftools.__version__) < LooseVersion('0.24'): + sys.stderr.write("pyelftools is out of date, need version 0.24 or later\n") + sys.exit(1) + def debug(text): if not args.verbose: return diff --git a/scripts/gen_idt.py b/scripts/gen_idt.py index 3583031f6c3..df9e1fc1308 100755 --- a/scripts/gen_idt.py +++ b/scripts/gen_idt.py @@ -8,9 +8,15 @@ import argparse import sys import struct import os +import elftools +from distutils.version import LooseVersion from elftools.elf.elffile import ELFFile from elftools.elf.sections import SymbolTableSection +if LooseVersion(elftools.__version__) < LooseVersion('0.24'): + sys.stderr.write("pyelftools is out of date, need version 0.24 or later\n") + sys.exit(1) + # This will never change, first selector in the GDT after the null selector KERNEL_CODE_SEG = 0x08