From 9de7c79153418a1936b18a96b7cc4ad91aa67e3a Mon Sep 17 00:00:00 2001 From: Jinoh Kang Date: Sat, 15 Jul 2023 03:28:59 +0000 Subject: [PATCH] winegcc: Enable SafeSEH only on i386. SafeSEH is not applicable to architectures other than i386. This fixes compiling with the clang ARM assembler, which cannot parse ".def @feat.00" since "@" is parsed as the start of a line comment. --- tools/winegcc/winegcc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 9d73252411b..34f8a1e4e87 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -989,7 +989,8 @@ static const char *build_spec_obj( struct options *opts, const char *spec_file, if (opts->large_address_aware) strarray_add( &spec_args, "--large-address-aware" ); } - if (opts->target.platform == PLATFORM_WINDOWS) strarray_add(&spec_args, "--safeseh"); + if (opts->target.platform == PLATFORM_WINDOWS && opts->target.cpu == CPU_i386) + strarray_add(&spec_args, "--safeseh"); if (entry_point) {