mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-30 00:38:54 -04:00

These routines do not require executable stacks. However, by default ELFish linkers may assume an executable stack on GNUish environments (and some non-GNU ones too!). The GNU extension to add a note to indicate a non-executable stack is honoured by these environments to mark the stack as non-executable (the compiler normally emits this directive on appropriate targets whenever possible). This allows normal builds from getting executable stacks due to linking to the compiler rt builtins. llvm-svn: 273500
23 lines
642 B
ArmAsm
23 lines
642 B
ArmAsm
/*===-- sync_fetch_and_and_4.S - ------------------------------------------===//
|
|
*
|
|
* The LLVM Compiler Infrastructure
|
|
*
|
|
* This file is dual licensed under the MIT and the University of Illinois Open
|
|
* Source Licenses. See LICENSE.TXT for details.
|
|
*
|
|
*===----------------------------------------------------------------------===//
|
|
*
|
|
* This file implements the __sync_fetch_and_and_4 function for the ARM
|
|
* architecture.
|
|
*
|
|
*===----------------------------------------------------------------------===*/
|
|
|
|
#include "sync-ops.h"
|
|
|
|
#define and_4(rD, rN, rM) and rD, rN, rM
|
|
|
|
SYNC_OP_4(and_4)
|
|
|
|
NO_EXEC_STACK_DIRECTIVE
|
|
|