Browse Source

cmelf: Add script to import the FreeBSD ELF headers

These headers will be used to provide the ELF parsing code on all host
operating systems (including those that don't have an ELF header, e.g.
macOS).  This will also allow removing various OS-dependent #ifdefs from
the cmELF code.  Add a script that was used to automate this import.

Co-authored-by: Alex Richardson <[email protected]>
Brad King 4 năm trước cách đây
mục cha
commit
18038042ed
1 tập tin đã thay đổi với 28 bổ sung0 xóa
  1. 28 0
      Utilities/Scripts/update-elf.bash

+ 28 - 0
Utilities/Scripts/update-elf.bash

@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+set -e
+set -x
+shopt -s dotglob
+
+readonly name="elf"
+readonly ownership="FreeBSD Upstream <[email protected]>"
+readonly subtree="Utilities/cmelf"
+readonly repo="https://github.com/freebsd/freebsd-src.git"
+readonly tag="main"
+readonly shortlog=false
+readonly paths="
+  sys/sys/elf32.h
+  sys/sys/elf64.h
+  sys/sys/elf_common.h
+"
+
+extract_source () {
+    git_archive
+    pushd "${extractdir}/${name}-reduced"
+    echo "* -whitespace" > .gitattributes
+    mv sys/sys/* .
+    sed -i -e 's/<sys\/elf_common.h>/"elf_common.h"/g' -e 's/u_int32_t/uint32_t/g' *.h
+    popd
+}
+
+. "${BASH_SOURCE%/*}/update-third-party.bash"