瀏覽代碼

ci(workflows): fix glibc 2.38 compatibility issues in build

Update the build workflow to properly handle glibc 2.38 compatibility by:
- Adding EXTRA_CFLAGS to resolve_btfids Makefile
- Fixing variable declarations in parse-options.c to be C89-compliant
TheWildJames 11 月之前
父節點
當前提交
85272cf16d
共有 1 個文件被更改,包括 7 次插入7 次删除
  1. 7 7
      .github/workflows/build.yml

+ 7 - 7
.github/workflows/build.yml

@@ -154,14 +154,14 @@ jobs:
           fi
 
       - name: Apply glibc 2.38 Compatibility Fix
-        #if: inputs.android_version == 'android14' &&  inputs.kernel_version == '6.1'
         run: |
-          #if [ ! -e build/build.sh ]; then 
-            GLIBC_VERSION=$(ldd --version 2>/dev/null | head -n 1 | awk '{print $NF}') 
-            if [ "$(printf '%s\n' "2.38" "$GLIBC_VERSION" | sort -V | head -n1)" = "2.38" ]; then 
-              cd $CONFIG/common/ && sed -i '/\$(Q)\$(MAKE) -C \$(SUBCMD_SRC) OUTPUT=\$(abspath \$(dir \$@))\/ \$(abspath \$@)/s//$(Q)$(MAKE) -C $(SUBCMD_SRC) EXTRA_CFLAGS="$(CFLAGS)" OUTPUT=$(abspath $(dir $@))\/ $(abspath $@)/' tools/bpf/resolve_btfids/Makefile 2>/dev/null || true
-            fi 
-          #fi
+          GLIBC_VERSION=$(ldd --version 2>/dev/null | head -n 1 | awk '{print $NF}') 
+          if [ "$(printf '%s\n' "2.38" "$GLIBC_VERSION" | sort -V | head -n1)" = "2.38" ]; then 
+            cd $CONFIG/common/
+            sed -i '/\$(Q)\$(MAKE) -C \$(SUBCMD_SRC) OUTPUT=\$(abspath \$(dir \$@))\/ \$(abspath \$@)/s//$(Q)$(MAKE) -C $(SUBCMD_SRC) EXTRA_CFLAGS="$(CFLAGS)" OUTPUT=$(abspath $(dir $@))\/ $(abspath $@)/' tools/bpf/resolve_btfids/Makefile 2>/dev/null || true
+            sed -i 's/for (int i = 0; subcommands\[i\]; i++) {/int i;\n\nfor (i = 0; subcommands[i]; i++) {/' tools/lib/subcmd/parse-options.c 2>/dev/null || true
+            sed -i 's/for (int i = 0; subcommands\[i\]; i++)/int i;\n\nfor (i = 0; subcommands[i]; i++)/' tools/lib/subcmd/parse-options.c 2>/dev/null || true
+          fi 
 
       - name: Fix Less Then 6.6.50 Builds
         if: inputs.android_version == 'android15' && inputs.kernel_version == '6.6'