diff options
| author | Xavi Del Campo <xavi.dcr@tutanota.com> | 2020-01-31 10:32:23 +0100 |
|---|---|---|
| committer | Xavi Del Campo <xavi.dcr@tutanota.com> | 2020-01-31 10:32:23 +0100 |
| commit | 7c24e9a9b02b04dcaf9507acb94091ea70a2c02d (patch) | |
| tree | c28d0748652ad4b4222309e46e6cfc82c0906220 /cxx | |
| parent | a2b7b6bb1cc2f4a3258b7b2dbc92399d151f864d (diff) | |
| download | psxsdk-7c24e9a9b02b04dcaf9507acb94091ea70a2c02d.tar.gz | |
Imported pristine psxsdk-20190410 from official repo
Diffstat (limited to 'cxx')
| -rw-r--r-- | cxx/Makefile | 19 | ||||
| -rwxr-xr-x | cxx/new.cc | 29 | ||||
| -rw-r--r-- | cxx/virtual.cc | 11 |
3 files changed, 59 insertions, 0 deletions
diff --git a/cxx/Makefile b/cxx/Makefile new file mode 100644 index 0000000..c896a9b --- /dev/null +++ b/cxx/Makefile @@ -0,0 +1,19 @@ +include ../Makefile.cfg + +OBJS = $(patsubst %.cc, %.o, $(wildcard *.cc)) + +all: libstdc++.a + +libstdc++.a: $(OBJS) + $(AR) r libstdc++.a $(OBJS) + +%.o: %.cc + $(CXX) $(CXXFLAGS) -c -o $@ $< + +install: libstdc++.a + cp libstdc++.a $(TOOLCHAIN_PREFIX)/lib + +clean: + rm -f $(OBJS) libstdc++.a + +distclean: clean diff --git a/cxx/new.cc b/cxx/new.cc new file mode 100755 index 0000000..5903faa --- /dev/null +++ b/cxx/new.cc @@ -0,0 +1,29 @@ +extern "C" +{ + #include <stdio.h> + #include <stdlib.h> +} + +void * +operator new(size_t size) +{ + return malloc(size); +} + +void * +operator new[](size_t size) +{ + return malloc(size); +} + +void +operator delete(void *ptr) +{ + free(ptr); +} + +void +operator delete[](void *ptr) +{ + free(ptr); +} diff --git a/cxx/virtual.cc b/cxx/virtual.cc new file mode 100644 index 0000000..71d8b9a --- /dev/null +++ b/cxx/virtual.cc @@ -0,0 +1,11 @@ +extern "C" +{ + #include <stdio.h> + #include <stdlib.h> +} + +extern "C" void __cxa_pure_virtual() +{ + printf("\nError: Called pure virtual C++ function!\n"); + exit(-1); +} |
