/* We want the .gnu.warning.SYMBOL section to be unallocated. */
#define __make_section_unallocated(section_string) \
- asm (".section " section_string "\n\t.previous");
+ __asm__ (".section " section_string "\n\t.previous");
/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
section attributes on what looks like a comment to the assembler. */
* Architecture specific code used by dl-startup.c
* Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org>
*/
-asm(
+__asm__(
" .text\n"
" .align 16\n"
" .globl _start\n"
static inline Elf32_Addr __attribute__ ((unused))
elf_machine_dynamic (void)
{
- register Elf32_Addr *got asm ("%ebx");
+ register Elf32_Addr *got __asm__ ("%ebx");
return *got;
}
via the GOT to make sure the compiler initialized %ebx in time. */
extern int _dl_errno;
Elf32_Addr addr;
- asm ("leal _dl_start@GOTOFF(%%ebx), %0\n"
+ __asm__ ("leal _dl_start@GOTOFF(%%ebx), %0\n"
"subl _dl_start@GOT(%%ebx), %0"
: "=r" (addr) : "m" (_dl_errno) : "cc");
return addr;
/* Our last ditch effort to commit suicide */
#ifdef __UCLIBC_ABORT_INSTRUCTION__
-# define ABORT_INSTRUCTION asm(__UCLIBC_ABORT_INSTRUCTION__)
+# define ABORT_INSTRUCTION __asm__(__UCLIBC_ABORT_INSTRUCTION__)
#else
# define ABORT_INSTRUCTION
# warning "no abort instruction defined for your arch"
int attribute_hidden __syscall_error(void)
{
- register int edx asm("%edx");
- asm("mov %eax, %edx");
- asm("negl %edx");
+ register int edx __asm__("%edx");
+ __asm__("mov %eax, %edx");
+ __asm__("negl %edx");
__set_errno(edx);
return -1;
}
/* We need some help from the assembler to generate optimal code. We
define some macros here which later will be used. */
-asm (".L__X'%ebx = 1\n\t"
+__asm__ (".L__X'%ebx = 1\n\t"
".L__X'%ecx = 2\n\t"
".L__X'%edx = 2\n\t"
".L__X'%eax = 3\n\t"
#define INLINE_SYSCALL(name, nr, args...) \
({ \
unsigned int resultvar; \
- asm volatile ( \
+ __asm__ __volatile__ ( \
LOADARGS_##nr \
"movl %1, %%eax\n\t" \
"int $0x80\n\t" \
{
void *__unbounded newbrk, *__unbounded scratch;
- asm ("movl %%ebx, %1\n" /* Save %ebx in scratch register. */
+ __asm__ ("movl %%ebx, %1\n" /* Save %ebx in scratch register. */
"movl %3, %%ebx\n" /* Put ADDR in %ebx to be syscall arg. */
"int $0x80 # %2\n" /* Perform the system call. */
"movl %1, %%ebx\n" /* Restore %ebx from scratch register. */
#if defined __NR_rt_sigaction
libc_hidden_proto(memcpy)
-extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
-extern void restore (void) asm ("__restore") attribute_hidden;
+extern void restore_rt (void) __asm__ ("__restore_rt") attribute_hidden;
+extern void restore (void) __asm__ ("__restore") attribute_hidden;
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
#else
-extern void restore (void) asm ("__restore") attribute_hidden;
+extern void restore (void) __asm__ ("__restore") attribute_hidden;
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
kact.sa_restorer = &restore;
}
- asm volatile ("pushl %%ebx\n"
+ __asm__ __volatile__ ("pushl %%ebx\n"
"movl %2, %%ebx\n"
"int $0x80\n"
"popl %%ebx"
#define RESTORE(name, syscall) RESTORE2 (name, syscall)
#define RESTORE2(name, syscall) \
-asm \
+__asm__ \
( \
".text\n" \
" .align 16\n" \
/* For the boring old signals. */
# undef RESTORE2
# define RESTORE2(name, syscall) \
-asm \
+__asm__ \
( \
".text\n" \
" .align 8\n" \
all outstanding operations which modify memory. Some architectures
distinguish between full, read and write barriers. */
#ifndef MEMORY_BARRIER
-#define MEMORY_BARRIER() asm ("" : : : "memory")
+#define MEMORY_BARRIER() __asm__ ("" : : : "memory")
#endif
#ifndef READ_MEMORY_BARRIER
#define READ_MEMORY_BARRIER() MEMORY_BARRIER()