1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,17 @@ 1.4 +# This Source Code Form is subject to the terms of the Mozilla Public 1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.7 + 1.8 +ifdef MOZ_THUMB2 #{ 1.9 +# The syscall number is passed through r7 in the linux ARM ABI, but r7 1.10 +# is also the THUMB frame pointer. (Unfortunate, but ah well.) gcc 1.11 +# complains if we store to r7, not unreasonably, but complains 1.12 +# inconsistently. The generic syscall template pushes/stores to/pops 1.13 +# r7 with no complaint from gcc, but the sys_clone() function marks r7 1.14 +# as a clobbered register yet gcc error's. The generated assembly for 1.15 +# sys_clone() looks OK, so we chalk this up to a gcc/gas quirk and 1.16 +# work around it by telling gcc that the THUMB frame pointer is a 1.17 +# vanilla callee-save register. 1.18 +OS_CXXFLAGS += -fomit-frame-pointer 1.19 +MOZ_FRAMEPTR_FLAGS := -fomit-frame-pointer 1.20 +endif #}