Style fixes in libruntime.

This commit is contained in:
Ruben Ayrapetyan
2014-08-12 14:16:05 +04:00
parent aa43e06366
commit b4a29f754a
11 changed files with 830 additions and 673 deletions
+43 -17
View File
@@ -27,61 +27,87 @@
* and call assertion fail handler. * and call assertion fail handler.
*/ */
void __noreturn void __noreturn
jerry_exit( jerry_status_t code) /**< status code */ jerry_exit (jerry_status_t code) /**< status code */
{ {
#ifndef JERRY_NDEBUG #ifndef JERRY_NDEBUG
if ( code != ERR_OK ) if (code != ERR_OK)
{ {
__printf("Error: "); __printf ("Error: ");
switch ( code ) switch (code)
{ {
case ERR_OK: case ERR_OK:
{
JERRY_UNREACHABLE(); JERRY_UNREACHABLE();
break; break;
}
case ERR_IO: case ERR_IO:
__printf("ERR_IO\n"); {
__printf ("ERR_IO\n");
break; break;
}
case ERR_BUFFER_SIZE: case ERR_BUFFER_SIZE:
__printf("ERR_BUFFER_SIZE\n"); {
__printf ("ERR_BUFFER_SIZE\n");
break; break;
}
case ERR_SEVERAL_FILES: case ERR_SEVERAL_FILES:
__printf("ERR_SEVERAL_FILES\n"); {
__printf ("ERR_SEVERAL_FILES\n");
break; break;
}
case ERR_NO_FILES: case ERR_NO_FILES:
__printf("ERR_NO_FILES\n"); {
__printf ("ERR_NO_FILES\n");
break; break;
}
case ERR_NON_CHAR: case ERR_NON_CHAR:
__printf("ERR_NON_CHAR\n"); {
__printf ("ERR_NON_CHAR\n");
break; break;
}
case ERR_UNCLOSED: case ERR_UNCLOSED:
__printf("ERR_UNCLOSED\n"); {
__printf ("ERR_UNCLOSED\n");
break; break;
}
case ERR_INT_LITERAL: case ERR_INT_LITERAL:
__printf("ERR_INT_LITERAL\n"); {
__printf ("ERR_INT_LITERAL\n");
break; break;
}
case ERR_STRING: case ERR_STRING:
__printf("ERR_STRING\n"); {
__printf ("ERR_STRING\n");
break; break;
}
case ERR_PARSER: case ERR_PARSER:
__printf("ERR_PARSER\n"); {
__printf ("ERR_PARSER\n");
break; break;
}
case ERR_MEMORY: case ERR_MEMORY:
__printf("ERR_MEMORY\n"); {
__printf ("ERR_MEMORY\n");
break; break;
}
case ERR_SYSCALL: case ERR_SYSCALL:
{
JERRY_UNREACHABLE(); JERRY_UNREACHABLE();
break; break;
}
case ERR_GENERAL: case ERR_GENERAL:
__printf("ERR_GENERAL\n"); {
__printf ("ERR_GENERAL\n");
break; break;
}
} }
/* The failed assertion is 'Return code is zero' */ /* The failed assertion is 'Return code is zero' */
jerry_assert_fail( "Return code is zero", __FILE__, __LINE__); jerry_assert_fail ("Return code is zero", __FILE__, __LINE__);
} }
#endif /* !JERRY_NDEBUG */ #endif /* !JERRY_NDEBUG */
__exit( -code ); __exit (-code);
} /* jerry_exit */ } /* jerry_exit */
File diff suppressed because it is too large Load Diff
+117 -84
View File
@@ -19,23 +19,23 @@
#include "jerry-libc.h" #include "jerry-libc.h"
FIXME( #ifndef LIBC_MUSL should be removed from here when own libc will be implemented ) FIXME(#ifndef LIBC_MUSL should be removed from here when own libc will be implemented)
#ifndef LIBC_MUSL #ifndef LIBC_MUSL
/** /**
* memcpy alias to __memcpy (for compiler usage) * memcpy alias to __memcpy (for compiler usage)
*/ */
extern void *memcpy(void *s1, const void*s2, size_t n); extern void *memcpy (void *s1, const void*s2, size_t n);
/** /**
* memset alias to __memset (for compiler usage) * memset alias to __memset (for compiler usage)
*/ */
extern void *memset(void *s, int c, size_t n); extern void *memset (void *s, int c, size_t n);
/** /**
* memmove alias to __memmove (for compiler usage) * memmove alias to __memmove (for compiler usage)
*/ */
extern void *memmove(void *s1, const void*s2, size_t n); extern void *memmove (void *s1, const void*s2, size_t n);
#ifdef __GNUC__ #ifdef __GNUC__
/* /*
@@ -53,31 +53,31 @@ CALL_PRAGMA(GCC optimize ("-fno-tree-loop-distribute-patterns"))
/** /**
* memcpy alias to __memcpy (for compiler usage) * memcpy alias to __memcpy (for compiler usage)
*/ */
void* memcpy(void *s1, /**< destination */ void* memcpy (void *s1, /**< destination */
const void* s2, /**< source */ const void* s2, /**< source */
size_t n) /**< bytes number */ size_t n) /**< bytes number */
{ {
return __memcpy(s1, s2, n); return __memcpy (s1, s2, n);
} /* memcpy */ } /* memcpy */
/** /**
* memset alias to __memset (for compiler usage) * memset alias to __memset (for compiler usage)
*/ */
void* memset(void *s, /**< area to set values in */ void* memset (void *s, /**< area to set values in */
int c, /**< value to set */ int c, /**< value to set */
size_t n) /**< area size */ size_t n) /**< area size */
{ {
return __memset(s, c, n); return __memset (s, c, n);
} /* memset */ } /* memset */
/** /**
* memmove alias to __memmove (for compiler usage) * memmove alias to __memmove (for compiler usage)
*/ */
void* memmove(void *s1, /**< destination*/ void* memmove (void *s1, /**< destination*/
const void*s2, /**< source */ const void*s2, /**< source */
size_t n) /**< area size */ size_t n) /**< area size */
{ {
return __memmove(s1, s2, n); return __memmove (s1, s2, n);
} /* memmove */ } /* memmove */
#ifdef __GNUC__ #ifdef __GNUC__
@@ -93,17 +93,17 @@ CALL_PRAGMA(GCC diagnostic pop)
* @return @s * @return @s
*/ */
void* void*
__memset(void *s, /**< area to set values in */ __memset (void *s, /**< area to set values in */
int c, /**< value to set */ int c, /**< value to set */
size_t n) /**< area size */ size_t n) /**< area size */
{ {
uint8_t *area_p = s; uint8_t *area_p = s;
for ( size_t index = 0; index < n; index++ ) for (size_t index = 0; index < n; index++)
{ {
area_p[ index ] = (uint8_t)c; area_p[ index ] = (uint8_t)c;
} }
return s; return s;
} /* __memset */ } /* __memset */
/** /**
@@ -114,40 +114,41 @@ __memset(void *s, /**< area to set values in */
* 1, otherwise * 1, otherwise
*/ */
int int
__memcmp(const void *s1, /**< first area */ __memcmp (const void *s1, /**< first area */
const void *s2, /**< second area */ const void *s2, /**< second area */
size_t n) /**< area size */ size_t n) /**< area size */
{ {
const uint8_t *area1_p = s1, *area2_p = s2; const uint8_t *area1_p = s1, *area2_p = s2;
for ( size_t index = 0; index < n; index++ ) for (size_t index = 0; index < n; index++)
{
if (area1_p[ index ] < area2_p[ index ])
{ {
if ( area1_p[ index ] < area2_p[ index ] ) return -1;
{
return -1;
} else if ( area1_p[ index ] > area2_p[ index ] )
{
return 1;
}
} }
else if (area1_p[ index ] > area2_p[ index ])
{
return 1;
}
}
return 0; return 0;
} /* __memcmp */ } /* __memcmp */
/** /**
* memcpy * memcpy
*/ */
void * void *
__memcpy(void *s1, /**< destination */ __memcpy (void *s1, /**< destination */
const void *s2, /**< source */ const void *s2, /**< source */
size_t n) /**< bytes number */ size_t n) /**< bytes number */
{ {
uint8_t *area1_p = s1; uint8_t *area1_p = s1;
const uint8_t *area2_p = s2; const uint8_t *area2_p = s2;
for ( size_t index = 0; index < n; index++ ) for (size_t index = 0; index < n; index++)
{ {
area1_p[ index ] = area2_p[ index ]; area1_p[ index ] = area2_p[ index ];
} }
return s1; return s1;
} /* __memcpy */ } /* __memcpy */
@@ -158,24 +159,25 @@ __memcpy(void *s1, /**< destination */
* @return the dest pointer's value * @return the dest pointer's value
*/ */
void * void *
__memmove(void *s1, /**< destination */ __memmove (void *s1, /**< destination */
const void *s2, /**< source */ const void *s2, /**< source */
size_t n) /**< bytes number */ size_t n) /**< bytes number */
{ {
uint8_t *dest_p = s1; uint8_t *dest_p = s1;
const uint8_t *src_p = s2; const uint8_t *src_p = s2;
if ( dest_p < src_p ) if (dest_p < src_p)
{ /* from begin to end */ { /* from begin to end */
for ( size_t index = 0; index < n; index++ ) for (size_t index = 0; index < n; index++)
{ {
dest_p[ index ] = src_p[ index ]; dest_p[ index ] = src_p[ index ];
} }
} else if ( dest_p > src_p ) }
else if (dest_p > src_p)
{ /* from end to begin */ { /* from end to begin */
for ( size_t index = 1; index <= n; index++ ) for (size_t index = 1; index <= n; index++)
{ {
dest_p[ n - index ] = src_p[ n - index ]; dest_p[ n - index ] = src_p[ n - index ];
} }
} }
@@ -183,77 +185,101 @@ __memmove(void *s1, /**< destination */
} /* __memmove */ } /* __memmove */
/** Compare two strings. return an integer less than, equal to, or greater than zero /** Compare two strings. return an integer less than, equal to, or greater than zero
if s1 is found, respectively, to be less than, to match, or be greater than s2. */ if s1 is found, respectively, to be less than, to match, or be greater than s2. */
int int
__strcmp (const char *s1, const char *s2) __strcmp (const char *s1, const char *s2)
{ {
size_t i; size_t i;
if (s1 == NULL) if (s1 == NULL)
{
if (s2 != NULL)
{ {
if (s2 != NULL) return -1;
return -1;
else
return 0;
} }
else
{
return 0;
}
}
if (s2 == NULL) if (s2 == NULL)
{
return 1; return 1;
}
for (i = 0; s1[i]; i++) for (i = 0; s1[i]; i++)
{
if (s1[i] > s2[i])
{ {
if (s1[i] > s2[i]) return 1;
return 1;
else if (s1[i] < s2[i])
return -1;
} }
else if (s1[i] < s2[i])
{
return -1;
}
}
if (s2[i]) if (s2[i])
{
return -1; return -1;
}
return 0; return 0;
} }
/** Compare two strings. return an integer less than, equal to, or greater than zero /** Compare two strings. return an integer less than, equal to, or greater than zero
if the first n character of s1 is found, respectively, to be less than, to match, if the first n character of s1 is found, respectively, to be less than, to match,
or be greater than the first n character of s2. */ or be greater than the first n character of s2. */
int int
__strncmp (const char *s1, const char *s2, size_t n) __strncmp (const char *s1, const char *s2, size_t n)
{ {
size_t i; size_t i;
if (s1 == NULL) if (s1 == NULL)
{
if (s2 != NULL)
{ {
if (s2 != NULL) return -1;
return -1;
else
return 0;
} }
else
{
return 0;
}
}
if (s2 == NULL) if (s2 == NULL)
{
return 1; return 1;
}
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
{
if (s1[i] > s2[i])
{ {
if (s1[i] > s2[i]) return 1;
return 1;
else if (s1[i] < s2[i])
return -1;
} }
else if (s1[i] < s2[i])
{
return -1;
}
}
return 0; return 0;
} }
/** Copy a string. At most n bytes of src are copied. Warning: If there is no /** Copy a string. At most n bytes of src are copied. Warning: If there is no
null byte among the first n bytes of src, the string placed in dest will not be null-terminated. null byte among the first n bytes of src, the string placed in dest will not be null-terminated.
@return a pointer to the destination string dest. */ @return a pointer to the destination string dest. */
char * char *
__strncpy(char *dest, const char *src, size_t n) __strncpy (char *dest, const char *src, size_t n)
{ {
size_t i; size_t i;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
{
dest[i] = src[i];
if (src[i] == '\0')
{ {
dest[i] = src[i]; break;
if (src[i] == '\0')
break;
} }
}
return dest; return dest;
} }
@@ -274,12 +300,15 @@ __strlen (const char *s)
{ {
size_t i; size_t i;
for (i = 0; s[i]; i++) for (i = 0; s[i]; i++)
{
; ;
}
return i; return i;
} }
/** Checks for white-space characters. In the "C" and "POSIX" locales, these are: space, /** Checks for white-space characters. In the "C" and "POSIX" locales, these are: space,
form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). */ form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t'), and vertical tab ('\v'). */
int int
__isspace (int c) __isspace (int c)
{ {
@@ -291,9 +320,13 @@ __isspace (int c)
case '\r': case '\r':
case '\t': case '\t':
case '\v': case '\v':
{
return 1; return 1;
}
default: default:
{
return 0; return 0;
}
} }
} }
@@ -312,7 +345,7 @@ __islower (int c)
} }
/** Checks for an alphabetic character. /** Checks for an alphabetic character.
In the standard "C" locale, it is equivalent to (isupper(c) || islower(c)). */ In the standard "C" locale, it is equivalent to (isupper (c) || islower (c)). */
int int
__isalpha (int c) __isalpha (int c)
{ {
@@ -327,7 +360,7 @@ __isdigit (int c)
} }
/** checks for a hexadecimal digits, that is, one of /** checks for a hexadecimal digits, that is, one of
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F. */ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F. */
int int
__isxdigit (int c) __isxdigit (int c)
{ {
+11 -11
View File
@@ -91,19 +91,19 @@ typedef enum
__SEEK_END /**< relative to end of file */ __SEEK_END /**< relative to end of file */
} _whence_t; } _whence_t;
extern _FILE* __fopen(const char *, const char *); extern _FILE* __fopen (const char *, const char *);
extern int __fclose(_FILE *); extern int __fclose (_FILE *);
extern int __fseek(_FILE *, long offset, _whence_t); extern int __fseek (_FILE *, long offset, _whence_t);
extern long __ftell(_FILE *); extern long __ftell (_FILE *);
extern void __rewind(_FILE *); extern void __rewind (_FILE *);
extern size_t __fread(void *, size_t, size_t, _FILE *); extern size_t __fread (void *, size_t, size_t, _FILE *);
extern size_t __fwrite(const void *, size_t, size_t, _FILE *); extern size_t __fwrite (const void *, size_t, size_t, _FILE *);
extern int __fprintf(_FILE *, const char *, ...); extern int __fprintf (_FILE *, const char *, ...);
#define DBL_MANT_DIG ( 52) #define DBL_MANT_DIG (52)
#define DBL_DIG ( 10) #define DBL_DIG (10)
#define DBL_MIN_EXP (-324) #define DBL_MIN_EXP (-324)
#define DBL_MAX_EXP ( 308) #define DBL_MAX_EXP (308)
#define HUGE_VAL (1e37f) #define HUGE_VAL (1e37f)
#endif /* JERRY_LIBC_H */ #endif /* JERRY_LIBC_H */
+15 -15
View File
@@ -22,11 +22,11 @@
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_1( syscall_no, arg1, ret) \ #define SYSCALL_1(syscall_no, arg1, ret) \
__asm volatile ( "syscall" \ __asm volatile ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1) \ : "a" (syscall_no), "D" (arg1) \
: "rcx", "r11" ); : "rcx", "r11");
/* /*
* mov syscall_no -> %rax * mov syscall_no -> %rax
@@ -35,11 +35,11 @@
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_2( syscall_no, arg1, arg2, ret) \ #define SYSCALL_2(syscall_no, arg1, arg2, ret) \
__asm volatile ( "syscall" \ __asm volatile ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1), "S" (arg2) \ : "a" (syscall_no), "D" (arg1), "S" (arg2) \
: "rcx", "r11" ); : "rcx", "r11");
/* /*
* mov syscall_no -> %rax * mov syscall_no -> %rax
@@ -49,11 +49,11 @@
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_3( syscall_no, arg1, arg2, arg3, ret) \ #define SYSCALL_3(syscall_no, arg1, arg2, arg3, ret) \
__asm volatile ( "syscall" \ __asm volatile ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \ : "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \
: "rcx", "r11" ); : "rcx", "r11");
#define _START \ #define _START \
mov (%rsp), %rdi; \ mov (%rsp), %rdi; \
+13 -13
View File
@@ -16,7 +16,7 @@
#ifndef LINUX_X86_ASM_H #ifndef LINUX_X86_ASM_H
#define LINUX_X86_ASM_H #define LINUX_X86_ASM_H
FIXME( Implement x86 ABI ); FIXME(Implement x86 ABI);
#error "Not implemented" #error "Not implemented"
/* /*
@@ -25,11 +25,11 @@ FIXME( Implement x86 ABI );
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_1( syscall_no, arg1, ret) \ #define SYSCALL_1 (syscall_no, arg1, ret) \
__asm ( "syscall" \ __asm ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1) \ : "a" (syscall_no), "D" (arg1) \
: "rcx", "r11" ); : "rcx", "r11");
/* /*
* mov syscall_no -> %rax * mov syscall_no -> %rax
@@ -38,11 +38,11 @@ FIXME( Implement x86 ABI );
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_2( syscall_no, arg1, arg2, ret) \ #define SYSCALL_2 (syscall_no, arg1, arg2, ret) \
__asm ( "syscall" \ __asm ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1), "S" (arg2) \ : "a" (syscall_no), "D" (arg1), "S" (arg2) \
: "rcx", "r11" ); : "rcx", "r11");
/* /*
* mov syscall_no -> %rax * mov syscall_no -> %rax
@@ -52,11 +52,11 @@ FIXME( Implement x86 ABI );
* syscall * syscall
* mov %rax -> ret * mov %rax -> ret
*/ */
#define SYSCALL_3( syscall_no, arg1, arg2, arg3, ret) \ #define SYSCALL_3 (syscall_no, arg1, arg2, arg3, ret) \
__asm ( "syscall" \ __asm ("syscall" \
: "=a" ( ret ) \ : "=a" (ret) \
: "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \ : "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \
: "rcx", "r11" ); : "rcx", "r11");
#define _START \ #define _START \
mov (%rsp), %rdi; \ mov (%rsp), %rdi; \
+6 -6
View File
@@ -20,13 +20,13 @@
* Handle failed assertion * Handle failed assertion
*/ */
void __noreturn void __noreturn
jerry_assert_fail(const char *assertion, /**< assertion condition string */ jerry_assert_fail (const char *assertion, /**< assertion condition string */
const char *file, /**< file name */ const char *file, /**< file name */
const uint32_t line) /** line */ const uint32_t line) /** line */
{ {
__printf("Assertion '%s' failed at %s:%u\n", __printf ("Assertion '%s' failed at %s:%u\n",
assertion, file, line); assertion, file, line);
__exit( -ERR_GENERAL); __exit (-ERR_GENERAL);
} /* jerry_assert_fail */ } /* jerry_assert_fail */
+153 -125
View File
@@ -26,11 +26,11 @@
#ifdef __TARGET_HOST_x64 #ifdef __TARGET_HOST_x64
# include "asm_x64.h" # include "asm_x64.h"
#elif defined(__TARGET_HOST_x86) #elif defined (__TARGET_HOST_x86)
# include "asm_x86.h" # include "asm_x86.h"
#endif /* !__TARGET_HOST_x64 && TARGET_HOST_x86 */ #endif /* !__TARGET_HOST_x64 && TARGET_HOST_x86 */
FIXME( Rename __unused ) FIXME(Rename __unused)
#undef __unused #undef __unused
#include <unistd.h> #include <unistd.h>
@@ -42,15 +42,15 @@ FIXME( Rename __unused )
/** /**
* Exit program with ERR_SYSCALL if syscall_ret_val is negative * Exit program with ERR_SYSCALL if syscall_ret_val is negative
*/ */
#define LIBC_EXIT_ON_ERROR( syscall_ret_val) \ #define LIBC_EXIT_ON_ERROR(syscall_ret_val) \
if ( unlikely( ( syscall_ret_val ) < 0 ) ) \ if (unlikely ((syscall_ret_val) < 0)) \
{ \ { \
__exit( -ERR_SYSCALL); \ __exit (-ERR_SYSCALL); \
} }
static long int syscall_1( long int syscall_no, long int arg1); static long int syscall_1 (long int syscall_no, long int arg1);
static long int syscall_2( long int syscall_no, long int arg1, long int arg2); static long int syscall_2 (long int syscall_no, long int arg1, long int arg2);
static long int syscall_3( long int syscall_no, long int arg1, long int arg2, long int arg3); static long int syscall_3 (long int syscall_no, long int arg1, long int arg2, long int arg3);
/** /**
* System call with one argument. * System call with one argument.
@@ -58,14 +58,14 @@ static long int syscall_3( long int syscall_no, long int arg1, long int arg2, lo
* @return syscall's return value * @return syscall's return value
*/ */
static long int static long int
syscall_1( long int syscall_no, /**< syscall number */ syscall_1 (long int syscall_no, /**< syscall number */
long int arg1) /**< argument */ long int arg1) /**< argument */
{ {
long int ret; long int ret;
SYSCALL_1( syscall_no, arg1, ret); SYSCALL_1 (syscall_no, arg1, ret);
LIBC_EXIT_ON_ERROR( ret ); LIBC_EXIT_ON_ERROR(ret);
return ret; return ret;
} /* syscall_1 */ } /* syscall_1 */
@@ -76,15 +76,15 @@ syscall_1( long int syscall_no, /**< syscall number */
* @return syscall's return value * @return syscall's return value
*/ */
static long int static long int
syscall_2( long int syscall_no, /**< syscall number */ syscall_2 (long int syscall_no, /**< syscall number */
long int arg1, /**< first argument */ long int arg1, /**< first argument */
long int arg2) /**< second argument */ long int arg2) /**< second argument */
{ {
long int ret; long int ret;
SYSCALL_2( syscall_no, arg1, arg2, ret); SYSCALL_2 (syscall_no, arg1, arg2, ret);
LIBC_EXIT_ON_ERROR( ret ); LIBC_EXIT_ON_ERROR(ret);
return ret; return ret;
} /* syscall_2 */ } /* syscall_2 */
@@ -95,16 +95,16 @@ syscall_2( long int syscall_no, /**< syscall number */
* @return syscall's return value * @return syscall's return value
*/ */
static long int static long int
syscall_3( long int syscall_no, /**< syscall number */ syscall_3 (long int syscall_no, /**< syscall number */
long int arg1, /**< first argument */ long int arg1, /**< first argument */
long int arg2, /**< second argument */ long int arg2, /**< second argument */
long int arg3) /**< third argument */ long int arg3) /**< third argument */
{ {
long int ret; long int ret;
SYSCALL_3( syscall_no, arg1, arg2, arg3, ret); SYSCALL_3 (syscall_no, arg1, arg2, arg3, ret);
LIBC_EXIT_ON_ERROR( ret ); LIBC_EXIT_ON_ERROR(ret);
return ret; return ret;
} /* syscall_3 */ } /* syscall_3 */
@@ -113,7 +113,7 @@ syscall_3( long int syscall_no, /**< syscall number */
int int
__putchar (int c) __putchar (int c)
{ {
__fwrite( &c, 1, sizeof(char), LIBC_STDOUT); __fwrite (&c, 1, sizeof (char), LIBC_STDOUT);
return c; return c;
} /* __putchar */ } /* __putchar */
@@ -124,16 +124,16 @@ __putchar (int c)
void __noreturn void __noreturn
__exit (int status) /**< status code */ __exit (int status) /**< status code */
{ {
syscall_1( __NR_close, (long int)LIBC_STDIN); syscall_1 (__NR_close, (long int)LIBC_STDIN);
syscall_1( __NR_close, (long int)LIBC_STDOUT); syscall_1 (__NR_close, (long int)LIBC_STDOUT);
syscall_1( __NR_close, (long int)LIBC_STDERR); syscall_1 (__NR_close, (long int)LIBC_STDERR);
syscall_1( __NR_exit_group, status); syscall_1 (__NR_exit_group, status);
while ( true ) while (true)
{ {
/* unreachable */ /* unreachable */
} }
} /* __exit */ } /* __exit */
/** /**
@@ -143,88 +143,96 @@ __exit (int status) /**< status code */
* NULL - otherwise * NULL - otherwise
*/ */
_FILE* _FILE*
__fopen(const char *path, /**< file path */ __fopen (const char *path, /**< file path */
const char *mode) /**< file open mode */ const char *mode) /**< file open mode */
{ {
bool may_read = false, bool may_read = false;
may_write = false, bool may_write = false;
truncate = false, bool truncate = false;
create_if_not_exist = false, bool create_if_not_exist = false;
position_at_end = false; bool position_at_end = false;
JERRY_ASSERT( path != NULL && mode != NULL ); JERRY_ASSERT(path != NULL && mode != NULL);
JERRY_ASSERT( mode[1] == '+' || mode[1] == '\0' ); JERRY_ASSERT(mode[1] == '+' || mode[1] == '\0');
switch( mode[0] ) switch (mode[0])
{ {
case 'r': case 'r':
{
may_read = true; may_read = true;
may_write = (mode[1] == '+'); may_write = (mode[1] == '+');
break; break;
}
case 'w': case 'w':
{
may_write = true; may_write = true;
truncate = true; truncate = true;
create_if_not_exist = true; create_if_not_exist = true;
may_read = (mode[1] == '+'); may_read = (mode[1] == '+');
break; break;
}
case 'a': case 'a':
{
may_write = true; may_write = true;
position_at_end = true; position_at_end = true;
create_if_not_exist = true; create_if_not_exist = true;
if ( mode[1] == '+' ) if (mode[1] == '+')
{ {
JERRY_UNIMPLEMENTED(); JERRY_UNIMPLEMENTED();
} }
break; break;
}
default: default:
{
JERRY_UNREACHABLE(); JERRY_UNREACHABLE();
} }
}
int flags = 0; int flags = 0;
int access = S_IRUSR | S_IWUSR; int access = S_IRUSR | S_IWUSR;
if ( may_read && !may_write ) if (may_read && !may_write)
{ {
flags = O_RDONLY; flags = O_RDONLY;
} }
else if ( !may_read && may_write ) else if (!may_read && may_write)
{ {
flags = O_WRONLY; flags = O_WRONLY;
} }
else else
{ {
JERRY_ASSERT( may_read && may_write ); JERRY_ASSERT(may_read && may_write);
flags = O_RDWR; flags = O_RDWR;
} }
if ( truncate ) if (truncate)
{ {
flags |= O_TRUNC; flags |= O_TRUNC;
} }
if ( create_if_not_exist ) if (create_if_not_exist)
{ {
flags |= O_CREAT; flags |= O_CREAT;
} }
if ( position_at_end ) if (position_at_end)
{ {
flags |= O_APPEND; flags |= O_APPEND;
} }
long int ret = syscall_3( __NR_open, (long int)path, flags, access); long int ret = syscall_3 (__NR_open, (long int) path, flags, access);
return (void*)(uintptr_t)(ret); return (void*) (uintptr_t) (ret);
} /* __fopen */ } /* __fopen */
/** /**
* The rewind() function sets the file position indicator * The rewind () function sets the file position indicator
* for the stream pointed to by STREAM to the beginning of the file. * for the stream pointed to by STREAM to the beginning of the file.
*/ */
void void
__rewind (_FILE *stream) /**< stream pointer */ __rewind (_FILE *stream) /**< stream pointer */
{ {
syscall_3( __NR_lseek, (long int)stream, 0, SEEK_SET); syscall_3 (__NR_lseek, (long int) stream, 0, SEEK_SET);
} /* __rewind */ } /* __rewind */
/** /**
@@ -234,9 +242,9 @@ __rewind (_FILE *stream) /**< stream pointer */
* non-zero value - otherwise. * non-zero value - otherwise.
*/ */
int int
__fclose(_FILE *fp) /**< stream pointer */ __fclose (_FILE *fp) /**< stream pointer */
{ {
syscall_2( __NR_close, (long int)fp, 0); syscall_2 (__NR_close, (long int)fp, 0);
return 0; return 0;
} /* __fclose */ } /* __fclose */
@@ -245,26 +253,32 @@ __fclose(_FILE *fp) /**< stream pointer */
* fseek * fseek
*/ */
int int
__fseek(_FILE * fp, /**< stream pointer */ __fseek (_FILE * fp, /**< stream pointer */
long offset, /**< offset */ long offset, /**< offset */
_whence_t whence) /**< specifies position type _whence_t whence) /**< specifies position type
to add offset to */ to add offset to */
{ {
int whence_real = SEEK_CUR; int whence_real = SEEK_CUR;
switch ( whence ) switch (whence)
{ {
case __SEEK_SET: case __SEEK_SET:
{
whence_real = SEEK_SET; whence_real = SEEK_SET;
break; break;
}
case __SEEK_CUR: case __SEEK_CUR:
{
whence_real = SEEK_CUR; whence_real = SEEK_CUR;
break; break;
}
case __SEEK_END: case __SEEK_END:
{
whence_real = SEEK_END; whence_real = SEEK_END;
break; break;
}
} }
syscall_3( __NR_lseek, (long int)fp, offset, whence_real); syscall_3 (__NR_lseek, (long int)fp, offset, whence_real);
return 0; return 0;
} /* __fseek */ } /* __fseek */
@@ -273,9 +287,9 @@ __fseek(_FILE * fp, /**< stream pointer */
* ftell * ftell
*/ */
long long
__ftell(_FILE * fp) /**< stream pointer */ __ftell (_FILE * fp) /**< stream pointer */
{ {
long int ret = syscall_3( __NR_lseek, (long int)fp, 0, SEEK_CUR); long int ret = syscall_3 (__NR_lseek, (long int)fp, 0, SEEK_CUR);
return ret; return ret;
} /* __ftell */ } /* __ftell */
@@ -286,20 +300,24 @@ __ftell(_FILE * fp) /**< stream pointer */
* @return number of bytes read * @return number of bytes read
*/ */
size_t size_t
__fread(void *ptr, /**< address of buffer to read to */ __fread (void *ptr, /**< address of buffer to read to */
size_t size, /**< size of elements to read */ size_t size, /**< size of elements to read */
size_t nmemb, /**< number of elements to read */ size_t nmemb, /**< number of elements to read */
_FILE *stream) /**< stream pointer */ _FILE *stream) /**< stream pointer */
{ {
long int ret; long int ret;
size_t bytes_read = 0; size_t bytes_read = 0;
do do
{ {
ret = syscall_3( __NR_read, (long int)stream, (long int) ((uint8_t*)ptr + bytes_read), (long int) (size * nmemb - bytes_read)); ret = syscall_3 (__NR_read,
(long int) stream,
(long int) ((uint8_t*) ptr + bytes_read),
(long int) (size * nmemb - bytes_read));
bytes_read += (size_t)ret; bytes_read += (size_t)ret;
} while (bytes_read != size * nmemb && ret != 0); }
while (bytes_read != size * nmemb && ret != 0);
return bytes_read; return bytes_read;
} /* __fread */ } /* __fread */
@@ -310,24 +328,28 @@ __fread(void *ptr, /**< address of buffer to read to */
* @return number of bytes written * @return number of bytes written
*/ */
size_t size_t
__fwrite(const void *ptr, /**< data to write */ __fwrite (const void *ptr, /**< data to write */
size_t size, /**< size of elements to write */ size_t size, /**< size of elements to write */
size_t nmemb, /**< number of elements */ size_t nmemb, /**< number of elements */
_FILE *stream) /**< stream pointer */ _FILE *stream) /**< stream pointer */
{ {
size_t bytes_written = 0; size_t bytes_written = 0;
do do
{ {
long int ret = syscall_3( __NR_write, (long int)stream, (long int) ((uint8_t*)ptr + bytes_written), (long int) (size * nmemb - bytes_written)); long int ret = syscall_3 (__NR_write,
(long int) stream,
(long int) ((uint8_t*) ptr + bytes_written),
(long int) (size * nmemb - bytes_written));
bytes_written += (size_t)ret; bytes_written += (size_t)ret;
} while (bytes_written != size * nmemb); }
while (bytes_written != size * nmemb);
return bytes_written; return bytes_written;
} /* __fwrite */ } /* __fwrite */
#elif defined(LIBC_MUSL) #elif defined (LIBC_MUSL)
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@@ -340,14 +362,14 @@ const _FILE **libc_stderr = (void*)&stderr;
int int
__putchar (int c) __putchar (int c)
{ {
return putchar( c); return putchar (c);
} /* __putchar */ } /* __putchar */
/** exit - cause normal process termination */ /** exit - cause normal process termination */
void __noreturn void __noreturn
__exit (int status) __exit (int status)
{ {
exit( status); exit (status);
} /* __exit */ } /* __exit */
/** /**
@@ -357,14 +379,14 @@ __exit (int status)
* NULL - otherwise * NULL - otherwise
*/ */
_FILE* _FILE*
__fopen(const char *path, /**< file path */ __fopen (const char *path, /**< file path */
const char *mode) /**< file open mode */ const char *mode) /**< file open mode */
{ {
return fopen( path, mode); return fopen (path, mode);
} /* __fopen */ } /* __fopen */
/** The rewind() function sets the file position /** The rewind () function sets the file position
indicator for the stream pointed to by STREAM to the beginning of the file. */ indicator for the stream pointed to by STREAM to the beginning of the file. */
void void
__rewind (_FILE *stream) __rewind (_FILE *stream)
{ {
@@ -378,44 +400,50 @@ __rewind (_FILE *stream)
* non-zero value - otherwise. * non-zero value - otherwise.
*/ */
int int
__fclose(_FILE *fp) /**< stream pointer */ __fclose (_FILE *fp) /**< stream pointer */
{ {
return fclose( fp); return fclose (fp);
} /* __fclose */ } /* __fclose */
/** /**
* fseek * fseek
*/ */
int int
__fseek(_FILE * fp, /**< stream pointer */ __fseek (_FILE * fp, /**< stream pointer */
long offset, /**< offset */ long offset, /**< offset */
_whence_t whence) /**< specifies position type _whence_t whence) /**< specifies position type
to add offset to */ to add offset to */
{ {
int whence_real = SEEK_CUR; int whence_real = SEEK_CUR;
switch ( whence ) switch (whence)
{ {
case __SEEK_SET: case __SEEK_SET:
{
whence_real = SEEK_SET; whence_real = SEEK_SET;
break; break;
}
case __SEEK_CUR: case __SEEK_CUR:
{
whence_real = SEEK_CUR; whence_real = SEEK_CUR;
break; break;
}
case __SEEK_END: case __SEEK_END:
{
whence_real = SEEK_END; whence_real = SEEK_END;
break; break;
}
} }
return fseek( fp, offset, whence_real); return fseek (fp, offset, whence_real);
} /* __fseek */ } /* __fseek */
/** /**
* ftell * ftell
*/ */
long long
__ftell(_FILE * fp) /**< stream pointer */ __ftell (_FILE * fp) /**< stream pointer */
{ {
return ftell( fp); return ftell (fp);
} /* __ftell */ } /* __ftell */
/** /**
@@ -424,12 +452,12 @@ __ftell(_FILE * fp) /**< stream pointer */
* @return number of bytes read * @return number of bytes read
*/ */
size_t size_t
__fread(void *ptr, /**< address of buffer to read to */ __fread (void *ptr, /**< address of buffer to read to */
size_t size, /**< size of elements to read */ size_t size, /**< size of elements to read */
size_t nmemb, /**< number of elements to read */ size_t nmemb, /**< number of elements to read */
_FILE *stream) /**< stream pointer */ _FILE *stream) /**< stream pointer */
{ {
return fread(ptr, size, nmemb, stream); return fread (ptr, size, nmemb, stream);
} /* __fread */ } /* __fread */
/** /**
@@ -438,12 +466,12 @@ __fread(void *ptr, /**< address of buffer to read to */
* @return number of bytes written * @return number of bytes written
*/ */
size_t size_t
__fwrite(const void *ptr, /**< data to write */ __fwrite (const void *ptr, /**< data to write */
size_t size, /**< size of elements to write */ size_t size, /**< size of elements to write */
size_t nmemb, /**< number of elements */ size_t nmemb, /**< number of elements */
_FILE *stream) /**< stream pointer */ _FILE *stream) /**< stream pointer */
{ {
return fwrite(ptr, size, nmemb, stream); return fwrite (ptr, size, nmemb, stream);
} /* __fwrite */ } /* __fwrite */
#else /* !LIBC_RAW && !LIBC_MUSL */ #else /* !LIBC_RAW && !LIBC_MUSL */
+1 -1
View File
@@ -1,6 +1,6 @@
#ifdef __TARGET_HOST_x64 #ifdef __TARGET_HOST_x64
# include "asm_x64.h" # include "asm_x64.h"
#elif defined(__TARGET_HOST_x86) #elif defined (__TARGET_HOST_x86)
# include "asm_x86.h" # include "asm_x86.h"
#else /* !__HOST && !__TARGET_HOST_x86 */ #else /* !__HOST && !__TARGET_HOST_x86 */
# error "!__HOST && !__TARGET_HOST_x86" # error "!__HOST && !__TARGET_HOST_x86"
+2 -2
View File
@@ -20,9 +20,9 @@
* Handle failed assertion * Handle failed assertion
*/ */
void __noreturn void __noreturn
jerry_assert_fail(const char *assertion __unused, /**< assertion condition string */ jerry_assert_fail (const char *assertion __unused, /**< assertion condition string */
const char *file __unused, /**< file name */ const char *file __unused, /**< file name */
const uint32_t line __unused) /** line */ const uint32_t line __unused) /** line */
{ {
__exit( -ERR_GENERAL); __exit (-ERR_GENERAL);
} /* jerry_assert_fail */ } /* jerry_assert_fail */
+4 -4
View File
@@ -21,7 +21,7 @@
#include <stdarg.h> #include <stdarg.h>
extern void __noreturn exit(int status); extern void __noreturn exit (int status);
/** Output of character. Writes the character c, cast to an unsigned char, to stdout. */ /** Output of character. Writes the character c, cast to an unsigned char, to stdout. */
int int
@@ -38,7 +38,7 @@ __exit (int status __unused)
* TODO: Blink LEDs? status -> binary -> LEDs? * TODO: Blink LEDs? status -> binary -> LEDs?
*/ */
while(true); while (true);
} /* __exit */ } /* __exit */
/** /**
@@ -47,11 +47,11 @@ __exit (int status __unused)
* @return number of bytes written * @return number of bytes written
*/ */
size_t size_t
__fwrite(const void *ptr, /**< data to write */ __fwrite (const void *ptr, /**< data to write */
size_t size, /**< size of elements to write */ size_t size, /**< size of elements to write */
size_t nmemb, /**< number of elements */ size_t nmemb, /**< number of elements */
_FILE *stream) /**< stream pointer */ _FILE *stream) /**< stream pointer */
{ {
JERRY_UNIMPLEMENTED_REF_UNUSED_VARS( ptr, size, nmemb, stream); JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(ptr, size, nmemb, stream);
} /* __fwrite */ } /* __fwrite */