summaryrefslogtreecommitdiff
path: root/Rules.mak
diff options
context:
space:
mode:
authorDmitry Chestnykh <dm.chestnykh@gmail.com>2024-04-20 13:33:52 +0300
committerWaldemar Brodkorb <wbx@openadk.org>2024-04-20 14:20:31 +0200
commit7e528892baee2234b8db434bc08c82f83c4b928c (patch)
tree6ddda3834115a7107be6cc3133a2999b671487b3 /Rules.mak
parent72b01dd20f9cea273809e3437b4aba849ae658af (diff)
x86: Fix __libc_sigaction implementation.
For x86 we have to copy only mask, handler and flags. We haven't set SA_RESTORER bit in sa_flags anyway. This patch fixes multiple test failures on x86. Also we have to build uClibc with FP for x86 because without FP NPTL and libgcc code cannot properly unwind the stack during asynchronous cancellation of system calls. Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Diffstat (limited to 'Rules.mak')
-rw-r--r--Rules.mak5
1 files changed, 3 insertions, 2 deletions
diff --git a/Rules.mak b/Rules.mak
index f2e5791e3..2c2c87928 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -336,8 +336,6 @@ $(eval $(call check-gcc-var,-ffunction-sections))
# Some nice CPU specific optimizations
ifeq ($(TARGET_ARCH),i386)
-$(eval $(call check-gcc-var,-fomit-frame-pointer))
- OPTIMIZATION += $(CFLAG_-fomit-frame-pointer)
ifeq ($(CONFIG_386)$(CONFIG_486)$(CONFIG_586),y)
# TODO: Change this to a gcc version check. This bug
@@ -662,6 +660,9 @@ endif
ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"")
CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS))
endif
+ifeq ($(TARGET_ARCH),i386)
+CFLAGS += -fno-omit-frame-pointer
+endif
ifneq ($(strip $(UCLIBC_EXTRA_LDFLAGS)),"")
LDFLAGS += $(call qstrip,$(UCLIBC_EXTRA_LDFLAGS))
endif