diff options
author | Andrew Haley <aph@redhat.com> | 2016-09-30 16:24:48 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2016-09-30 16:24:48 +0000 |
commit | 07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch) | |
tree | 3f22b3241c513ad168c8353805614ae1249410f4 /libjava/darwin.cc | |
parent | eae993948bae8b788c53772bcb9217c063716f93 (diff) | |
download | gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2 |
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com>
* Makefile.def: Remove libjava.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
* configure.ac: Likewise.
* configure: Likewise.
* gcc/java: Remove.
* libjava: Likewise.
From-SVN: r240662
Diffstat (limited to 'libjava/darwin.cc')
-rw-r--r-- | libjava/darwin.cc | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/libjava/darwin.cc b/libjava/darwin.cc deleted file mode 100644 index f6406b3..0000000 --- a/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; |