michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: ifdef MOZ_THUMB2 #{ michael@0: # The syscall number is passed through r7 in the linux ARM ABI, but r7 michael@0: # is also the THUMB frame pointer. (Unfortunate, but ah well.) gcc michael@0: # complains if we store to r7, not unreasonably, but complains michael@0: # inconsistently. The generic syscall template pushes/stores to/pops michael@0: # r7 with no complaint from gcc, but the sys_clone() function marks r7 michael@0: # as a clobbered register yet gcc error's. The generated assembly for michael@0: # sys_clone() looks OK, so we chalk this up to a gcc/gas quirk and michael@0: # work around it by telling gcc that the THUMB frame pointer is a michael@0: # vanilla callee-save register. michael@0: OS_CXXFLAGS += -fomit-frame-pointer michael@0: MOZ_FRAMEPTR_FLAGS := -fomit-frame-pointer michael@0: endif #}