OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [libgcj_bc.c] - Blame information for rev 765

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 753 jeremybenn
/* libgcj_bc.c  */
2
 
3
/* Copyright (C) 2006, 2009 Free Software Foundation
4
 
5
   This file is part of libgcj.
6
 
7
This software is copyrighted work licensed under the terms of the
8
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
9
details.  */
10
 
11
/* This file is used to build libgcj_bc.so, a 'fake' library that is
12
   used at link time only. It ensures that binaries built with the
13
   BC-ABI link against a constant SONAME. This way, BC-ABI binaries
14
   continue to work if the SONAME underlying libgcj.so changes.  */
15
 
16
#include <stdlib.h>
17
#include <stdio.h>
18
 
19
static void print_wrong_lib_msg ()
20
{
21
  fprintf (stderr, "libgcj error: \
22
This is libgcj_bc.so, a fake library used only for linking.\n\
23
Please create a symlink from libgcj_bc.so.1 to the real libgcj.so.\n");
24
  exit (1);
25
}
26
 
27
/* Functions called from code generated by gcj.  */
28
 
29
void _Jv_AllocObject () {}
30
void _Jv_AllocObjectNoFinalizer () {}
31
void _Jv_CheckArrayStore () {}
32
void _Jv_CheckCast () {}
33
void _Jv_InitClass () {}
34
void _Jv_IsInstanceOf () {}
35
void _Jv_LookupInterfaceMethod () {}
36
void _Jv_LookupInterfaceMethodIdx () {}
37
void _Jv_MonitorEnter () {}
38
void _Jv_MonitorExit () {}
39
void _Jv_NewMultiArray () {}
40
void _Jv_NewObjectArray () {}
41
void _Jv_NewPrimArray () {}
42
void _Jv_RegisterResource () {}
43
void _Jv_ResolvePoolEntry () {}
44
void _Jv_Throw () {}
45
void _Jv_ThrowAbstractMethodError () {}
46
void _Jv_ThrowBadArrayIndex () {}
47
void _Jv_ThrowNoSuchFieldError () {}
48
void _Jv_ThrowNullPointerException () {}
49
void __gcj_personality_v0 () {}
50
 
51
void _Jv_RegisterClasses ()
52
{
53
  print_wrong_lib_msg ();
54
}
55
 
56
void _Jv_RegisterNewClasses ()
57
{
58
  print_wrong_lib_msg ();
59
}
60
 
61
/* Symbols used by jvgenmain (-fmain).  */
62
 
63
void JvRunMain () {}
64
void JvRunMainName () {}
65
const char **_Jv_Compiler_Properties;
66
 
67
/* Functions used by -fjni.  */
68
 
69
void _Jv_GetJNIEnvNewFrame () {}
70
void _Jv_LookupJNIMethod () {}
71
void _Jv_UnwrapJNIweakReference () {}
72
void _Jv_JNI_PopSystemFrame () {}
73
 
74
 
75
/* Checked divide (-fuse-divide-subroutine).  */
76
 
77
void _Jv_divI () {}
78
void _Jv_divJ () {}
79
void _Jv_remI () {}
80
void _Jv_remJ () {}
81
 
82
 
83
/* CNI Functions.  */
84
 
85
void _Jv_AllocBytes () {}
86
void _Jv_AllocString () {}
87
void _Jv_AttachCurrentThread () {}
88
void _Jv_AttachCurrentThreadAsDaemon () {}
89
void _Jv_CreateJavaVM () {}
90
void _Jv_DetachCurrentThread () {}
91
void _Jv_Free () {}
92
void _Jv_GetStringUTFLength () {}
93
void _Jv_GetStringUTFRegion () {}
94
void _Jv_Malloc () {}
95
void _Jv_NewString () {}
96
void _Jv_NewStringLatin1 () {}
97
void _Jv_NewStringUTF () {}
98
void _Jv_Realloc () {}
99
 
100
 
101
/* Classes for primitive types.  */
102
 
103
#define DECLARE_PRIM_TYPE(NAME)                 \
104
  int _Jv_##NAME##Class;
105
 
106
DECLARE_PRIM_TYPE(byte)
107
DECLARE_PRIM_TYPE(short)
108
DECLARE_PRIM_TYPE(int)
109
DECLARE_PRIM_TYPE(long)
110
DECLARE_PRIM_TYPE(boolean)
111
DECLARE_PRIM_TYPE(char)
112
DECLARE_PRIM_TYPE(float)
113
DECLARE_PRIM_TYPE(double)
114
DECLARE_PRIM_TYPE(void)
115
 
116
 
117
/* Force executable to export __data_start et al.  */
118
 
119
#pragma weak __data_start
120
extern int __data_start[];
121
#pragma weak data_start
122
extern int data_start[];
123
#pragma weak _end
124
extern int _end[];
125
static void *dummy[] __attribute__((used)) = {__data_start, data_start, _end};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.