summaryrefslogtreecommitdiff
path: root/0019-Support-for-building-on-macOS-systems.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 02:16:15 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 02:16:15 +0000
commit64a1be29a5d22a92b1830144fedfdf8884a2b20d (patch)
tree27f8b13b5d4fb5359c31c7c1ff60a9563cd8361d /0019-Support-for-building-on-macOS-systems.patch
parent453c495bceb89952108be7452da3d072d3336eab (diff)
automatic import of gnu-efiopeneuler24.03_LTS
Diffstat (limited to '0019-Support-for-building-on-macOS-systems.patch')
-rw-r--r--0019-Support-for-building-on-macOS-systems.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/0019-Support-for-building-on-macOS-systems.patch b/0019-Support-for-building-on-macOS-systems.patch
new file mode 100644
index 0000000..3909d7e
--- /dev/null
+++ b/0019-Support-for-building-on-macOS-systems.patch
@@ -0,0 +1,86 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Rick Mark <rickmark@outlook.com>
+Date: Fri, 27 Oct 2017 14:05:39 -0700
+Subject: [PATCH] Support for building on macOS systems
+
+---
+ Make.defaults | 12 ++++++++++--
+ lib/x86_64/setjmp.S | 15 +++++++++++----
+ 2 files changed, 21 insertions(+), 6 deletions(-)
+
+diff --git a/Make.defaults b/Make.defaults
+index 5695b2ac1ab..5d34ff47157 100755
+--- a/Make.defaults
++++ b/Make.defaults
+@@ -65,7 +65,7 @@ OS := $(shell uname -s)
+ HOSTARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
+ ARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
+
+-# Get ARCH from the compiler if cross compiling
++# Get ARCH from the compiler if cross compiling
+ ifneq ($(CROSS_COMPILE),)
+ override ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
+ endif
+@@ -165,7 +165,10 @@ ifneq (mingw32,$(findstring mingw32, $(GCCMACHINE)))
+ CFLAGS += -fpic
+ endif
+
+-ifeq (FreeBSD, $(findstring FreeBSD, $(OS)))
++IS_FREEBSD = $(findstring FreeBSD, $(OS))
++IS_DARWIN = $(findstring Darwin, $(OS))
++
++ifneq "$(or $(IS_FREEBSD), $(IS_DARWIN))" ""
+ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
+ -fshort-wchar -fno-strict-aliasing \
+ -ffreestanding -fno-stack-protector
+@@ -177,7 +180,12 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
+ $(if $(findstring gcc,$(CC)),-fno-merge-all-constants,)
+ endif
+
++ifeq "$(IS_DARWIN)" ""
++ARFLAGS += -U
++else
+ ARFLAGS := rDv
++endif
++
+ ASFLAGS += $(ARCH3264)
+ LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings \
+ --build-id=sha1
+diff --git a/lib/x86_64/setjmp.S b/lib/x86_64/setjmp.S
+index e870aef703a..e3e51959719 100644
+--- a/lib/x86_64/setjmp.S
++++ b/lib/x86_64/setjmp.S
+@@ -1,10 +1,14 @@
+ .text
+ .globl setjmp
+-#ifndef __MINGW32__
++
++#ifndef __APPLE__
++# ifndef __MINGW32__
+ .type setjmp, @function
+-#else
++# else
+ .def setjmp; .scl 2; .type 32; .endef
++# endif
+ #endif
++
+ setjmp:
+ pop %rsi
+ movq %rbx,0x00(%rdi)
+@@ -20,11 +24,14 @@ setjmp:
+ ret
+
+ .globl longjmp
+-#ifndef __MINGW32__
++#ifndef __APPLE__
++# ifndef __MINGW32__
+ .type longjmp, @function
+-#else
++# else
+ .def longjmp; .scl 2; .type 32; .endef
++# endif
+ #endif
++
+ longjmp:
+ movl %esi, %eax
+ movq 0x00(%rdi), %rbx