Files
codex/patches/opus_windows_gnullvm_stack_probe.patch
2026-04-04 15:58:17 -07:00

129 lines
3.9 KiB
Diff

--- a/overlay/BUILD.bazel
+++ b/overlay/BUILD.bazel
@@ -1,5 +1,5 @@
load("@rules_cc//cc:defs.bzl", "cc_library")
-load("//:defs.bzl", "AVX2_COPTS", "OPUS_COPTS", "OPUS_INCLUDES", "OPUS_LINKOPTS", "SSE2_COPTS", "SSE4_1_COPTS", "SSE_COPTS")
+load("//:defs.bzl", "AVX2_COPTS", "OPUS_COPTS", "OPUS_INCLUDES", "OPUS_LINKOPTS", "OPUS_X86_STACK_COPTS", "SSE2_COPTS", "SSE4_1_COPTS", "SSE_COPTS")
package(default_visibility = ["//:__subpackages__"])
@@ -76,7 +76,7 @@ cc_library(
"celt/x86/x86cpu.c",
"celt/x86/x86_celt_map.c",
] + INTERNAL_HEADERS,
- copts = OPUS_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -91,7 +91,7 @@ cc_library(
cc_library(
name = "celt_sse",
srcs = ["celt/x86/pitch_sse.c"] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + SSE_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + SSE_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -108,7 +108,7 @@ cc_library(
"celt/x86/pitch_sse2.c",
"celt/x86/vq_sse2.c",
] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + SSE2_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + SSE2_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -125,7 +125,7 @@ cc_library(
"celt/x86/celt_lpc_sse4_1.c",
"celt/x86/pitch_sse4_1.c",
] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + SSE4_1_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + SSE4_1_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -140,7 +140,7 @@ cc_library(
cc_library(
name = "celt_avx2",
srcs = ["celt/x86/pitch_avx.c"] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + AVX2_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + AVX2_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -184,7 +184,7 @@ cc_library(
cc_library(
name = "silk_x86_rtcd",
srcs = ["silk/x86/x86_silk_map.c"] + INTERNAL_HEADERS,
- copts = OPUS_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -201,7 +201,7 @@ cc_library(
"silk/x86/VAD_sse4_1.c",
"silk/x86/VQ_WMat_EC_sse4_1.c",
] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + SSE4_1_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + SSE4_1_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -219,7 +219,7 @@ cc_library(
"silk/x86/NSQ_del_dec_avx2.c",
"silk/float/x86/inner_product_FLP_avx2.c",
] + INTERNAL_HEADERS,
- copts = OPUS_COPTS + AVX2_COPTS,
+ copts = OPUS_COPTS + OPUS_X86_STACK_COPTS + AVX2_COPTS,
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -258,7 +258,10 @@ cc_library(
"celt/mathops.c",
],
- copts = OPUS_COPTS,
+ copts = OPUS_COPTS + select({
+ "@platforms//cpu:x86_64": OPUS_X86_STACK_COPTS,
+ "//conditions:default": [],
+ }),
includes = OPUS_INCLUDES,
deps = [
":config",
@@ -373,7 +376,10 @@ cc_library(
"silk/float/schur_FLP.c",
"silk/float/sort_FLP.c",
] + glob(["silk/**/*.h"]),
- copts = OPUS_COPTS,
+ copts = OPUS_COPTS + select({
+ "@platforms//cpu:x86_64": OPUS_X86_STACK_COPTS,
+ "//conditions:default": [],
+ }),
includes = OPUS_INCLUDES,
deps = [
":celt",
@@ -419,7 +425,10 @@ cc_library(
"src/mlp_data.c",
] + glob(["src/*.h"]),
- copts = OPUS_COPTS,
+ copts = OPUS_COPTS + select({
+ "@platforms//cpu:x86_64": OPUS_X86_STACK_COPTS,
+ "//conditions:default": [],
+ }),
includes = ["include"],
deps = [
":celt",
--- a/overlay/defs.bzl
+++ b/overlay/defs.bzl
@@ -1,4 +1,9 @@
-OPUS_COPTS = ["-std=gnu99"]
+OPUS_COPTS = [
+ "-fno-stack-protector",
+ "-std=gnu99",
+]
+
+OPUS_X86_STACK_COPTS = ["-mno-stack-arg-probe"]
OPUS_INCLUDES = [
"include",