diff options
| -rw-r--r-- | core/config_sanitizers.mk | 6 | ||||
| -rwxr-xr-x | tools/fat16copy.py | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk index 5eaf7b1455..57a7993bd9 100644 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@ -68,6 +68,12 @@ ifeq ($(strip $(ENABLE_CFI)),) my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag)) endif +# Disable CFI for arm32 (b/35157333). +ifneq ($(filter arm,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),) + my_sanitize := $(filter-out cfi,$(my_sanitize)) + my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag)) +endif + # CFI needs gold linker, and mips toolchain does not have one. ifneq ($(filter mips mips64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),) my_sanitize := $(filter-out cfi,$(my_sanitize)) diff --git a/tools/fat16copy.py b/tools/fat16copy.py index af8bd838cc..c20930a475 100755 --- a/tools/fat16copy.py +++ b/tools/fat16copy.py @@ -234,11 +234,16 @@ class fat_dir(object): data.seek(0) data_file.write(data.read()) - def new_subdirectory(self, name): + def open_subdirectory(self, name): """ - Create a new subdirectory of this directory with the given name. + Open a subdirectory of this directory with the given name. If the + subdirectory doesn't exist, a new one is created instead. Returns a fat_dir(). """ + for dent in self.dentries: + if dent.longname == name: + return dent.open_directory() + chunk = self.backing.fs.allocate(1) (shortname, ext) = self.make_short_name(name) new_dentry = self.add_dentry(ATTRIBUTE_SUBDIRECTORY, shortname, @@ -751,7 +756,7 @@ def add_item(directory, item): base = os.path.basename(item) if len(base) == 0: base = os.path.basename(item[:-1]) - sub = directory.new_subdirectory(base) + sub = directory.open_subdirectory(base) for next_item in sorted(os.listdir(item)): add_item(sub, os.path.join(item, next_item)) else: |