configure.host: Fix __NO_MATH_INLNES botch.

* configure.host: Fix __NO_MATH_INLNES botch.

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Move natFirstThread.cc.
	(gnu/gcj/runtime/FirstThread.h): Moved.
	(ordinary_java_source_files): Move FirstThread.java.
	* prims.cc: Deal with FirstThread movement.
	(JvRunMain): Ditto.
	(_Jv_RunMain): Ditto.

	* gnu/gcj/runtime/FirstThread.java: Moved from java/lang.
	* gnu/gcj/runtime/natFirstThread.cc: Ditto.

From-SVN: r32348
This commit is contained in:
Anthony Green 2000-03-05 22:26:30 +00:00
parent 262b638442
commit 6cc964322f
9 changed files with 45 additions and 27 deletions

View file

@ -1,50 +0,0 @@
// FirstThread.java - Implementation of very first thread.
/* Copyright (C) 1998, 1999 Red Hat, Inc.
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. */
package java.lang;
/**
* @author Tom Tromey <tromey@cygnus.com>
* @date August 24, 1998
*/
// This is entirely internal to our implementation.
final class FirstThread extends Thread
{
public native void run ();
public FirstThread (ThreadGroup g, Class k, Object o)
{
super (g, null, "main");
klass = k;
klass_name = null;
args = o;
}
public FirstThread (ThreadGroup g, String class_name, Object o)
{
super (g, null, "main");
klass = null;
klass_name = class_name;
args = o;
}
private static void die (String s)
{
System.err.println(s);
System.exit(1);
}
// Private data.
private Class klass;
private String klass_name;
private Object args;
}

View file

@ -1,53 +0,0 @@
// natFirstThread.cc - Implementation of FirstThread native methods.
/* Copyright (C) 1998, 1999 Red Hat, Inc.
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 <stdlib.h>
#include <gcj/cni.h>
#include <jvm.h>
#include <java/lang/FirstThread.h>
#include <java/lang/Class.h>
#include <java/lang/String.h>
#include <java/lang/System.h>
#include <java/lang/reflect/Modifier.h>
#include <java/io/PrintStream.h>
#define DIE(Message) die (JvNewStringLatin1 (Message))
typedef void main_func (jobject);
void
java::lang::FirstThread::run (void)
{
Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
if (klass == NULL)
{
klass = java::lang::Class::forName (klass_name);
if (klass != NULL) _Jv_InitClass (klass);
}
_Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
// Some checks from Java Spec section 12.1.4.
if (meth == NULL)
DIE ("no suitable method `main' in class");
if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
DIE ("`main' must be static");
if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
DIE ("`main' must be public");
main_func *real_main = (main_func *) meth->ncode;
(*real_main) (args);
}