freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
2002-11-01 David O'Brien <obrien@FreeBSD.org> * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__. (TRANSFER_FROM_TRAMPOLINE): Reformat. Add comment. Approved by: Mark Mitchell <mark@codesourcery.com> Message-ID: <15490000.1036182355@warlock.codesourcery.com> From-SVN: r58730
This commit is contained in:
parent
616dc555ce
commit
8df91177c0
|
@ -1,3 +1,9 @@
|
||||||
|
2002-11-01 David O'Brien <obrien@FreeBSD.org>
|
||||||
|
|
||||||
|
* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
|
||||||
|
(TRANSFER_FROM_TRAMPOLINE): Reformat.
|
||||||
|
Add comment.
|
||||||
|
|
||||||
2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
|
2002-11-01 Kazu Hirata <kazu@cs.umass.edu>
|
||||||
|
|
||||||
* config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
|
* config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
|
||||||
|
|
|
@ -18,11 +18,13 @@ You should have received a copy of the GNU General Public License
|
||||||
along with GNU CC; see the file COPYING. If not, write to
|
along with GNU CC; see the file COPYING. If not, write to
|
||||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
|
|
||||||
/* FreeBSD needs's the platform name (sparc64) defined. */
|
/* FreeBSD needs's the platform name (sparc64) defined.
|
||||||
|
Emacs needs to know if the arch is 64 or 32-bits. */
|
||||||
|
|
||||||
#undef CPP_CPU64_DEFAULT_SPEC
|
#undef CPP_CPU64_DEFAULT_SPEC
|
||||||
#define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__"
|
#define CPP_CPU64_DEFAULT_SPEC "-D__sparc64__ -D__sparc_v9__ -D__arch64__"
|
||||||
|
|
||||||
|
/* Because we include sparc/sysv4.h. */
|
||||||
#undef CPP_PREDEFINES
|
#undef CPP_PREDEFINES
|
||||||
#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
|
#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
|
||||||
|
|
||||||
|
@ -97,27 +99,21 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#define SPARC_DEFAULT_CMODEL CM_MEDLOW
|
#define SPARC_DEFAULT_CMODEL CM_MEDLOW
|
||||||
|
|
||||||
#define TRANSFER_FROM_TRAMPOLINE \
|
#define TRANSFER_FROM_TRAMPOLINE \
|
||||||
static int need_enable_exec_stack; \
|
static int need_enable_exec_stack; \
|
||||||
\
|
static void check_enabling(void) __attribute__ ((constructor)); \
|
||||||
static void check_enabling(void) __attribute__ ((constructor)); \
|
static void check_enabling(void) \
|
||||||
static void check_enabling(void) \
|
{ \
|
||||||
{ \
|
|
||||||
extern int sysctlbyname(const char *, void *, size_t *, void *, size_t);\
|
extern int sysctlbyname(const char *, void *, size_t *, void *, size_t);\
|
||||||
size_t len; \
|
int prot = 0; \
|
||||||
int prot; \
|
size_t len = sizeof(prot); \
|
||||||
\
|
\
|
||||||
prot = 0; \
|
|
||||||
len = sizeof(prot); \
|
|
||||||
sysctlbyname ("kern.stackprot", &prot, &len, NULL, 0); \
|
sysctlbyname ("kern.stackprot", &prot, &len, NULL, 0); \
|
||||||
if (prot != 7) \
|
if (prot != 7) \
|
||||||
need_enable_exec_stack = 1; \
|
need_enable_exec_stack = 1; \
|
||||||
} \
|
} \
|
||||||
\
|
extern void __enable_execute_stack (void *); \
|
||||||
extern void __enable_execute_stack (void *); \
|
void __enable_execute_stack (void *addr) \
|
||||||
void \
|
{ \
|
||||||
__enable_execute_stack (addr) \
|
|
||||||
void *addr; \
|
|
||||||
{ \
|
|
||||||
if (!need_enable_exec_stack) \
|
if (!need_enable_exec_stack) \
|
||||||
return; \
|
return; \
|
||||||
else { \
|
else { \
|
||||||
|
@ -125,7 +121,7 @@ __enable_execute_stack (addr) \
|
||||||
if (mprotect (addr, TRAMPOLINE_SIZE, 7) < 0) \
|
if (mprotect (addr, TRAMPOLINE_SIZE, 7) < 0) \
|
||||||
perror ("mprotect of trampoline code"); \
|
perror ("mprotect of trampoline code"); \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************[ Assembler stuff ]********************************/
|
/************************[ Assembler stuff ]********************************/
|
||||||
|
|
Loading…
Reference in New Issue