sdk: C++ exeptions support

git-svn-id: svn://kolibrios.org@5963 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge)
2015-12-14 17:41:20 +00:00
parent b340790ba4
commit b393c4e9d9
27 changed files with 3029 additions and 159 deletions

View File

@@ -3,7 +3,7 @@ CC = kos32-gcc
AR = kos32-ar
LD = kos32-ld
CFLAGS = -c -O2 -fno-ident -fomit-frame-pointer -DBUILD_DLL -DMISSING_SYSCALL_NAMES
CFLAGS = -c -O2 -fno-ident -fomit-frame-pointer -fexceptions -DBUILD_DLL -DMISSING_SYSCALL_NAMES
LDFLAGS = -shared -s -T libcdll.lds --out-implib libc.dll.a --image-base 0
#LDFLAGS+= --output-def libc.orig.def
ARFLAGS = crs

View File

@@ -18,28 +18,9 @@
#include <string.h>
#include <stdio.h>
/*
typedef void (*ctp)();
static void __do_global_ctors ()
{
extern int __CTOR_LIST__;
int *c = &__CTOR_LIST__;
c++;
while (*c)
{
ctp d = (ctp)*c;
(d)();
c++;
}
}
*/
void *load_libc();
//void __main (){};
void* get_entry_point(void *raw);
void _pei386_runtime_relocator (void){};
void __attribute__((noreturn))
__crt_startup (void)
@@ -48,8 +29,6 @@ __crt_startup (void)
void *img;
void __attribute__((noreturn)) (*entry)(void *img);
// _pei386_runtime_relocator();
img = load_libc();
if(img == NULL)

View File

@@ -424,7 +424,8 @@ static inline void get_proc_info(char *info)
__asm__ __volatile__(
"int $0x40"
:
:"a"(9), "b"(info), "c"(-1));
:"a"(9), "b"(info), "c"(-1)
:"memory");
};
static inline void GetProcInfo(char *info) __attribute__ ((alias ("get_proc_info")));

View File

@@ -655,10 +655,6 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) {
#define clearerr(p) __sclearerr(p)
#endif
#if 0 /*ndef __STRICT_ANSI__ - FIXME: must initialize stdio first, use fn */
#define fileno(p) __sfileno(p)
#endif
#ifndef __CYGWIN__
#ifndef lint
#define getc(fp) __sgetc_r(_REENT, fp)