forked from KolibriOS/kolibrios
sdk: C++ exeptions support
git-svn-id: svn://kolibrios.org@5963 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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")));
|
||||
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user