aboutsummaryrefslogtreecommitdiff
path: root/libjava/darwin.cc
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2016-09-30 16:24:48 +0000
committerAndrew Haley <aph@gcc.gnu.org>2016-09-30 16:24:48 +0000
commit07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch)
tree3f22b3241c513ad168c8353805614ae1249410f4 /libjava/darwin.cc
parenteae993948bae8b788c53772bcb9217c063716f93 (diff)
downloadgcc-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.cc80
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;