chroot_version_hooks.d: Fix binutils installation

Fix binutils file conflicts when installing binutils-libs
package.

BUG=chromium:920008
TEST=cq passes

Cq-Depend: chromium:2234737
Change-Id: Ie40d286f151feeda896884f8d3514322dab355e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2234750
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/chroot_version_hooks.d/176_binutils_fixup b/chroot_version_hooks.d/176_binutils_fixup
new file mode 100644
index 0000000..b33c38e
--- /dev/null
+++ b/chroot_version_hooks.d/176_binutils_fixup
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Fix binutils headers and library conflicts when installing binutils-libs.
+# Remove symlinks to headers that are now provided by binutils-libs.
+# Note re-building binutils does not remove these symlinks so
+# a manual removal is needed to avoid merge conflicts.
+files_to_remove=(
+	/usr/include/symcat.h
+	/usr/include/plugin-api.h
+	/usr/include/bfdlink.h
+	/usr/include/bfd.h
+	/usr/include/dis-asm.h
+	/usr/include/ansidecl.h
+	/usr/include/libiberty/sort.h
+	/usr/include/libiberty/fibheap.h
+	/usr/include/libiberty/safe-ctype.h
+	/usr/include/libiberty/demangle.h
+	/usr/include/libiberty/objalloc.h
+	/usr/include/libiberty/hashtab.h
+	/usr/include/libiberty/timeval-utils.h
+	/usr/include/libiberty/splay-tree.h
+	/usr/include/libiberty/partition.h
+	/usr/include/libiberty/dyn-string.h
+	/usr/include/libiberty/libiberty.h
+	/usr/include/libiberty/floatformat.h
+	/usr/include/libiberty/ansidecl.h
+	/usr/include/libiberty.h
+)
+echo "Fixing up binutils installation"
+sudo rm -f "${files_to_remove[@]}"
+sudo emerge -ugq sys-devel/binutils-config
+sudo emerge -ugq sys-libs/binutils-libs