diff options
| author | Dan Albert <danalbert@google.com> | 2015-06-17 11:09:54 -0700 |
|---|---|---|
| committer | Dan Albert <danalbert@google.com> | 2015-06-17 14:15:22 -0700 |
| commit | f378ebf14df0952eae870c9865bab8326aa8f137 (patch) | |
| tree | 31794503eb2a8c64ea5f313b93100f1163afcffb /gcc-4.7/libjava/darwin.cc | |
| parent | 2c58169824949d3a597d9fa81931e001ef9b1bd0 (diff) | |
| download | toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.tar.gz toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.tar.bz2 toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.zip | |
Delete old versions of GCC.
Change-Id: I710f125d905290e1024cbd67f48299861790c66c
Diffstat (limited to 'gcc-4.7/libjava/darwin.cc')
| -rw-r--r-- | gcc-4.7/libjava/darwin.cc | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/gcc-4.7/libjava/darwin.cc b/gcc-4.7/libjava/darwin.cc deleted file mode 100644 index f6406b375..000000000 --- a/gcc-4.7/libjava/darwin.cc +++ /dev/null @@ -1,80 +0,0 @@ -/* darwin.cc - class loader stuff for Darwin. */ - -/* Copyright (C) 2004, 2007 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include <config.h> - -#include <jvm.h> - -/* In theory, we should be able to do: - #include <mach-o/getsect.h> - #include <mach-o/dyld.h> - - but all the types in these headers changed between Panther and Tiger, - so the only way to be avoid type mismatches is to declare the routines - ourself. */ - -#include <stdint.h> -#if !defined (__LP64__) - struct mach_header; -# define JAVA_MACH_HEADER mach_header -# define mh_size_t uint32_t - extern "C" void _dyld_register_func_for_add_image - (void (*func)(const struct mach_header *mh, intptr_t vmaddr_slide)); - extern "C" void _dyld_register_func_for_remove_image - (void (*func)(const struct mach_header *mh, intptr_t vmaddr_slide)); - extern "C" char *getsectdatafromheader - (const struct mach_header *mhp, const char *segname, const char *sectname, - uint32_t *size); -# define GETSECTDATA getsectdatafromheader -#else - struct mach_header_64; -# define JAVA_MACH_HEADER mach_header_64 -# define mh_size_t uint64_t - extern "C" void _dyld_register_func_for_add_image - (void (*func)(const struct mach_header_64 *mh, intptr_t vmaddr_slide)); - extern "C" void _dyld_register_func_for_remove_image - (void (*func)(const struct mach_header_64 *mh, intptr_t vmaddr_slide)); - extern "C" char *getsectdatafromheader_64 - (const struct mach_header_64 *mhp, const char *segname, - const char *sectname, uint64_t *size); -# define GETSECTDATA getsectdatafromheader_64 -#endif - -/* When a new image is loaded, look to see if it has a jcr section - and if so register the classes listed in it. */ - -static void -darwin_java_register_dyld_add_image_hook (const struct JAVA_MACH_HEADER *mh, - intptr_t slide) -{ - char *fde; - mh_size_t sz; - - fde = GETSECTDATA (mh, "__DATA", "jcr", &sz); - if (! fde) - return; - - /* As far as I can tell, you're only supposed to load shared - libraries while having a lock on java.lang.Class. So there's - no need to synchronize on anything here. (I'm not sure how exactly - you can ensure this given lazy library loading. FIXME.) */ - - _Jv_RegisterClasses_Counted ((const jclass *) (fde + slide), - sz / sizeof (jclass *)); -} - -static struct darwin_constructor_s{ - darwin_constructor_s() - { - _dyld_register_func_for_add_image - (darwin_java_register_dyld_add_image_hook); - /* At present, you mustn't unload any java plugin. */ - }; -} darwin_constructor; |
