diff --git a/core/org.eclipse.cdt.core.linux.ia64/.project b/core/org.eclipse.cdt.core.linux.ia64/.project deleted file mode 100644 index 9a78313029b..00000000000 --- a/core/org.eclipse.cdt.core.linux.ia64/.project +++ /dev/null @@ -1,22 +0,0 @@ - - - org.eclipse.cdt.core.linux.ia64 - - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - - diff --git a/core/org.eclipse.cdt.core.linux.ia64/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.linux.ia64/META-INF/MANIFEST.MF deleted file mode 100644 index 392022587fe..00000000000 --- a/core/org.eclipse.cdt.core.linux.ia64/META-INF/MANIFEST.MF +++ /dev/null @@ -1,8 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %fragmentName.linux.ia64 -Bundle-SymbolicName: org.eclipse.cdt.core.linux.ia64;singleton:=true -Bundle-Version: 5.2.0.qualifier -Bundle-Vendor: %providerName -Fragment-Host: org.eclipse.cdt.core.native;bundle-version="[5.7.0,6.0.0)" -Bundle-Localization: plugin diff --git a/core/org.eclipse.cdt.core.linux.ia64/about.html b/core/org.eclipse.cdt.core.linux.ia64/about.html deleted file mode 100644 index d7c511887d6..00000000000 --- a/core/org.eclipse.cdt.core.linux.ia64/about.html +++ /dev/null @@ -1,24 +0,0 @@ - - -About - - -

About This Content

- -

June 22, 2007

-

License

- -

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

- - \ No newline at end of file diff --git a/core/org.eclipse.cdt.core.linux.ia64/build.properties b/core/org.eclipse.cdt.core.linux.ia64/build.properties deleted file mode 100644 index 9faf19ae43b..00000000000 --- a/core/org.eclipse.cdt.core.linux.ia64/build.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = os/,\ - about.html,\ - META-INF/ -src.includes = about.html diff --git a/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libpty.so b/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libpty.so deleted file mode 100644 index 35b47f215bc..00000000000 Binary files a/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libpty.so and /dev/null differ diff --git a/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libspawner.so b/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libspawner.so deleted file mode 100644 index 1cde969515e..00000000000 Binary files a/core/org.eclipse.cdt.core.linux.ia64/os/linux/ia64/libspawner.so and /dev/null differ diff --git a/core/org.eclipse.cdt.core.linux.ia64/pom.xml b/core/org.eclipse.cdt.core.linux.ia64/pom.xml deleted file mode 100644 index 53095c28034..00000000000 --- a/core/org.eclipse.cdt.core.linux.ia64/pom.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - 4.0.0 - - - org.eclipse.cdt - cdt-parent - 9.0.0-SNAPSHOT - ../../pom.xml - - - 5.2.0-SNAPSHOT - org.eclipse.cdt.core.linux.ia64 - eclipse-plugin - - - - - org.eclipse.tycho - target-platform-configuration - ${tycho-version} - - p2 - consider - - - linux - gtk - ia64 - - - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho-version} - - - plugin-source - none - - - attach-source - none - - - - - - diff --git a/core/org.eclipse.cdt.core.qnx/.classpath b/core/org.eclipse.cdt.core.qnx/.classpath deleted file mode 100644 index b277a8ac870..00000000000 --- a/core/org.eclipse.cdt.core.qnx/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/core/org.eclipse.cdt.core.qnx/.cvsignore b/core/org.eclipse.cdt.core.qnx/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/core/org.eclipse.cdt.core.qnx/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/core/org.eclipse.cdt.core.qnx/.project b/core/org.eclipse.cdt.core.qnx/.project deleted file mode 100644 index bfff1d26cb1..00000000000 --- a/core/org.eclipse.cdt.core.qnx/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.cdt.core.qnx - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - diff --git a/core/org.eclipse.cdt.core.qnx/ChangeLog b/core/org.eclipse.cdt.core.qnx/ChangeLog deleted file mode 100644 index 8d500da2b68..00000000000 --- a/core/org.eclipse.cdt.core.qnx/ChangeLog +++ /dev/null @@ -1,36 +0,0 @@ -2004-03-25 David Inglis - - Added platform attribute to processlist extension - - * plugin.xml - -2002-11-12 Alain Magloire - - Fix Pr 26005 - * library/spawner/spawner.c (waitFor): - The waitFor(int) JNI on QNX is returning the PID of the - process rather then the status of the process - on exit. - Patch from Chris Mckillop. - -2002-11-04 Alain Magloire - - * library/pty/pty.c: New file. - * library/pty/ptyio.c: New file. - * library/pty/openpty.c: New file. - * library/pty/openpty.h: New file. - * library/pty/PTY.h: new File. - * library/pty/PTYInputStream.h: new File. - * library/pty/PTYOutputStream.h: new File. - -2002-10-17 Alain Magloire - - * os/qnx/x86/libspawner.so: Regenarated. - Thanks to Alex Chapiro. - -2002-10-17 Alain Magloire - - * library/spawner.c (exec0) : This function was - leaking memory at every call, the environment array - and the argument array was not free(). There is no - need to do the strdup() of cwd. diff --git a/core/org.eclipse.cdt.core.qnx/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.qnx/META-INF/MANIFEST.MF deleted file mode 100644 index d7f361d55a0..00000000000 --- a/core/org.eclipse.cdt.core.qnx/META-INF/MANIFEST.MF +++ /dev/null @@ -1,10 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %fragmentName.qnx -Bundle-SymbolicName: org.eclipse.cdt.core.qnx; singleton:=true -Bundle-Version: 5.2.0.qualifier -Bundle-ClassPath: cdt_qnx.jar -Bundle-Vendor: %providerName -Fragment-Host: org.eclipse.cdt.core.native;bundle-version="[5.7.0,6.0.0)" -Bundle-Localization: plugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/core/org.eclipse.cdt.core.qnx/about.html b/core/org.eclipse.cdt.core.qnx/about.html deleted file mode 100644 index d7c511887d6..00000000000 --- a/core/org.eclipse.cdt.core.qnx/about.html +++ /dev/null @@ -1,24 +0,0 @@ - - -About - - -

About This Content

- -

June 22, 2007

-

License

- -

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

- - \ No newline at end of file diff --git a/core/org.eclipse.cdt.core.qnx/build.properties b/core/org.eclipse.cdt.core.qnx/build.properties deleted file mode 100644 index ddb4ff6fe97..00000000000 --- a/core/org.eclipse.cdt.core.qnx/build.properties +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = fragment.xml,\ - about.html,\ - os/,\ - cdt_qnx.jar,\ - META-INF/ -source.cdt_qnx.jar = src/ -src.includes = about.html,\ - library/,\ - build.properties diff --git a/core/org.eclipse.cdt.core.qnx/fragment.xml b/core/org.eclipse.cdt.core.qnx/fragment.xml deleted file mode 100644 index b6944e98064..00000000000 --- a/core/org.eclipse.cdt.core.qnx/fragment.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/core/org.eclipse.cdt.core.qnx/library/.cvsignore b/core/org.eclipse.cdt.core.qnx/library/.cvsignore deleted file mode 100644 index 33ec1741ee8..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.o -*.so -*.a diff --git a/core/org.eclipse.cdt.core.qnx/library/Makefile b/core/org.eclipse.cdt.core.qnx/library/Makefile deleted file mode 100644 index 0f36af0e691..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LIST=ALL -ifndef QRECURSE -QRECURSE=recurse.mk -ifdef QCONFIG -QRDIR=$(dir $(QCONFIG)) -endif -endif -include $(QRDIR)$(QRECURSE) diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/Makefile b/core/org.eclipse.cdt.core.qnx/library/pty/Makefile deleted file mode 100644 index 959e9b2292f..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LIST=CPU -ifndef QRECURSE -QRECURSE=recurse.mk -ifdef QCONFIG -QRDIR=$(dir $(QCONFIG)) -endif -endif -include $(QRDIR)$(QRECURSE) diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/PTY.h b/core/org.eclipse.cdt.core.qnx/library/pty/PTY.h deleted file mode 100644 index 46a8dd9b622..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/PTY.h +++ /dev/null @@ -1,22 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_cdt_utils_pty_PTY */ - -#ifndef _Included_org_eclipse_cdt_utils_pty_PTY -#define _Included_org_eclipse_cdt_utils_pty_PTY -#ifdef __cplusplus -extern "C" { -#endif -/* Inaccessible static: hasPTY */ -/* - * Class: org_eclipse_cdt_utils_pty_PTY - * Method: openMaster - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_eclipse_cdt_utils_pty_PTY_openMaster - (JNIEnv *, jobject); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/PTYInputStream.h b/core/org.eclipse.cdt.core.qnx/library/pty/PTYInputStream.h deleted file mode 100644 index e7349272b56..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/PTYInputStream.h +++ /dev/null @@ -1,32 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_cdt_utils_pty_PTYInputStream */ - -#ifndef _Included_org_eclipse_cdt_utils_pty_PTYInputStream -#define _Included_org_eclipse_cdt_utils_pty_PTYInputStream -#ifdef __cplusplus -extern "C" { -#endif -#undef org_eclipse_cdt_utils_pty_PTYInputStream_SKIP_BUFFER_SIZE -#define org_eclipse_cdt_utils_pty_PTYInputStream_SKIP_BUFFER_SIZE 2048L -/* Inaccessible static: skipBuffer */ -/* - * Class: org_eclipse_cdt_utils_pty_PTYInputStream - * Method: read0 - * Signature: (I[BI)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTYInputStream_read0 - (JNIEnv *, jobject, jint, jbyteArray, jint); - -/* - * Class: org_eclipse_cdt_utils_pty_PTYInputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTYInputStream_close0 - (JNIEnv *, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/PTYOutputStream.h b/core/org.eclipse.cdt.core.qnx/library/pty/PTYOutputStream.h deleted file mode 100644 index fb28491060e..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/PTYOutputStream.h +++ /dev/null @@ -1,29 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_cdt_utils_pty_PTYOutputStream */ - -#ifndef _Included_org_eclipse_cdt_utils_pty_PTYOutputStream -#define _Included_org_eclipse_cdt_utils_pty_PTYOutputStream -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_cdt_utils_pty_PTYOutputStream - * Method: write0 - * Signature: (I[BI)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTYOutputStream_write0 - (JNIEnv *, jobject, jint, jbyteArray, jint); - -/* - * Class: org_eclipse_cdt_utils_pty_PTYOutputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTYOutputStream_close0 - (JNIEnv *, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/common.mk b/core/org.eclipse.cdt.core.qnx/library/pty/common.mk deleted file mode 100644 index 40fc9cca6c7..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/common.mk +++ /dev/null @@ -1,14 +0,0 @@ -ifndef QCONFIG -QCONFIG=qconfig.mk -endif -include $(QCONFIG) - -include $(MKFILES_ROOT)/qtargets.mk - -ifeq ($(OS),nto) -ifeq ($(IVEHOME),) -IVEHOME:=/opt/vame/ive/bin -endif -EXTRA_INCVPATH+=$(IVEHOME)/include -endif - diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/openpty.c b/core/org.eclipse.cdt.core.qnx/library/pty/openpty.c deleted file mode 100644 index 55f1fe35847..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/openpty.c +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -/** - * This is taken from R. W. Stevens book. - * Alain Magloire. - */ - -int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); - -int -openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp) -{ - char line[20]; - line[0]=0; - *amaster = ptym_open(line); - if (*amaster < 0) - return -1; - *aslave = ptys_open(*amaster, line); - if (*aslave < 0) { - close(*amaster); - return -1; - } - if (name) - strcpy(name, line); -#ifndef TCSAFLUSH -#define TCSAFLUSH TCSETAF -#endif - if (termp) - (void) tcsetattr(*aslave, TCSAFLUSH, termp); -#ifdef TIOCSWINSZ - if (winp) - (void) ioctl(*aslave, TIOCSWINSZ, (char *)winp); -#endif - return 0; -} - -int -ptym_open(char * pts_name) -{ - char *ptr1, *ptr2; - int fdm; - - strcpy(pts_name, "/dev/ptyXY"); - /* array index: 012345689 (for references in following code) */ - for (ptr1 = "pqrstuvwxyzPQRST"; *ptr1 != 0; ptr1++) { - pts_name[8] = *ptr1; - for (ptr2 = "0123456789abcdef"; *ptr2 != 0; ptr2++) { - pts_name[9] = *ptr2; - /* try to open master */ - fdm = open(pts_name, O_RDWR); - if (fdm < 0) { - if (errno == ENOENT) {/* different from EIO */ - return -1; /* out of pty devices */ - } else { - continue; /* try next pty device */ - } - } - pts_name[5] = 't'; /* chage "pty" to "tty" */ - return fdm; /* got it, return fd of master */ - } - } - return -1; /* out of pty devices */ -} - -int -ptys_open(int fdm, char * pts_name) -{ - int gid, fds; - struct group *grptr; - - grptr = getgrnam("tty"); - if (grptr != NULL) { - gid = grptr->gr_gid; - } else { - gid = -1; /* group tty is not in the group file */ - } - - /* following two functions don't work unless we're root */ - chown(pts_name, getuid(), gid); - chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP); - fds = open(pts_name, O_RDWR); - if (fds < 0) { - close(fdm); - return -1; - } - return fds; -} diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/openpty.h b/core/org.eclipse.cdt.core.qnx/library/pty/openpty.h deleted file mode 100644 index 9d497d39eec..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/openpty.h +++ /dev/null @@ -1,15 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#ifndef _OPENPTY_H -#define _OPENPTY_H -int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/pty.c b/core/org.eclipse.cdt.core.qnx/library/pty/pty.c deleted file mode 100644 index a8077b0a5ad..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/pty.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#include "PTY.h" -#include "openpty.h" - -/* - * Class: org_eclipse_cdt_utils_pty_PTY - * Method: forkpty - * Signature: ()I - */ -JNIEXPORT jstring JNICALL -Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { - jfieldID fid; /* Store the field ID */ - jstring jstr = NULL; - int master = -1; - char line[1024]; /* FIXME: Should be enough */ - jclass cls; - - line[0] = '\0'; - - master = ptym_open(line); - if (master >= 0) { - /* Get a reference to the obj's class */ - cls = (*env)->GetObjectClass(env, jobj); - - /* Set the master fd. */ - fid = (*env)->GetFieldID(env, cls, "master", "I"); - if (fid == NULL) { - return NULL; - } - (*env)->SetIntField(env, jobj, fid, (jint)master); - - /* Create a new String for the slave. */ - jstr = (*env)->NewStringUTF(env, line); - } - return jstr; -} diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/ptyio.c b/core/org.eclipse.cdt.core.qnx/library/pty/ptyio.c deleted file mode 100644 index 49e42793841..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/ptyio.c +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#include -#include -#include -#include -#include - -/* Header for class _org_eclipse_cdt_utils_pty_PTYInputStream */ -/* Header for class _org_eclipse_cdt_utils_pty_PTYOutputStream */ - -/* - * Class: org_eclipse_cdt_utils_pty_PTYInputStream - * Method: read0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL -Java_org_eclipse_cdt_utils_pty_PTYInputStream_read0(JNIEnv * env, - jobject jobj, - jint jfd, - jbyteArray buf, - jint buf_len) -{ - int fd; - int status; - jbyte *data; - int data_len; - - data = (*env)->GetByteArrayElements(env, buf, 0); - data_len = buf_len; - fd = jfd; - - status = read( fd, data, data_len ); - (*env)->ReleaseByteArrayElements(env, buf, data, 0); - - if (status == 0) { - /* EOF. */ - status = -1; - } else if (status == -1) { - /* Error, toss an exception */ - jclass exception = (*env)->FindClass(env, "java/io/IOException"); - if (exception == NULL) { - /* Give up. */ - return -1; - } - (*env)->ThrowNew(env, exception, "read error"); - } - - return status; -} - - -/* - * Class: org_eclipse_cdt_utils_pty_PTYInputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL -Java_org_eclipse_cdt_utils_pty_PTYInputStream_close0(JNIEnv * env, - jobject jobj, - jint fd) -{ - return close(fd); -} - -/* - * Class: org_eclipse_cdt_utils_pty_PTYOutputStream - * Method: write0 - * Signature: (II)I - */ -JNIEXPORT jint JNICALL -Java_org_eclipse_cdt_utils_pty_PTYOutputStream_write0(JNIEnv * env, - jobject jobj, - jint jfd, - jbyteArray buf, - jint buf_len) -{ - int status; - int fd; - jbyte *data; - int data_len; - - data = (*env)->GetByteArrayElements(env, buf, 0); - data_len = buf_len; - fd = jfd; - - status = write(fd, data, data_len); - (*env)->ReleaseByteArrayElements(env, buf, data, 0); - - return status; -} - - -/* - * Class: org_eclipse_cdt_utils_pty_PTYOutputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL -Java_org_eclipse_cdt_utils_pty_PTYOutputStream_close0(JNIEnv * env, - jobject jobj, - jint fd) -{ - return close(fd); -} diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/x86/Makefile b/core/org.eclipse.cdt.core.qnx/library/pty/x86/Makefile deleted file mode 100644 index 6a18617612e..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/x86/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LIST=VARIANT -ifndef QRECURSE -QRECURSE=recurse.mk -ifdef QCONFIG -QRDIR=$(dir $(QCONFIG)) -endif -endif -include $(QRDIR)$(QRECURSE) diff --git a/core/org.eclipse.cdt.core.qnx/library/pty/x86/so/Makefile b/core/org.eclipse.cdt.core.qnx/library/pty/x86/so/Makefile deleted file mode 100644 index cc399272607..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/pty/x86/so/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../common.mk diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/Makefile b/core/org.eclipse.cdt.core.qnx/library/spawner/Makefile deleted file mode 100644 index 959e9b2292f..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LIST=CPU -ifndef QRECURSE -QRECURSE=recurse.mk -ifdef QCONFIG -QRDIR=$(dir $(QCONFIG)) -endif -endif -include $(QRDIR)$(QRECURSE) diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/Spawner.h b/core/org.eclipse.cdt.core.qnx/library/spawner/Spawner.h deleted file mode 100644 index 272366bad75..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/Spawner.h +++ /dev/null @@ -1,53 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_cdt_utils_spawner_Spawner */ - -#ifndef _Included_org_eclipse_cdt_utils_spawner_Spawner -#define _Included_org_eclipse_cdt_utils_spawner_Spawner -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_cdt_utils_spawner_Spawner - * Method: exec0 - * Signature: ([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 - (JNIEnv *, jobject, jobjectArray, jobjectArray, jstring, jintArray); - -/* - * Class: org_eclipse_cdt_utils_spawner_Spawner - * Method: exec1 - * Signature: ([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 - (JNIEnv *, jobject, jobjectArray, jobjectArray, jstring); - -/* - * Class: org_eclipse_cdt_utils_spawner_Spawner - * Method: exec2 - * Signature: ([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[ILjava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 - (JNIEnv *, jobject, jobjectArray, jobjectArray, jstring, jintArray, jstring, jint); - -/* - * Class: org_eclipse_cdt_utils_spawner_Spawner - * Method: raise - * Signature: (II)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_raise - (JNIEnv *, jobject, jint, jint); - -/* - * Class: org_eclipse_cdt_utils_spawner_Spawner - * Method: waitFor - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_waitFor - (JNIEnv *, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerInputStream.h b/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerInputStream.h deleted file mode 100644 index ecf8f8c6a78..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerInputStream.h +++ /dev/null @@ -1,32 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class com_qnx_tools_utils_spawner_SpawnerInputStream */ - -#ifndef _Included_com_qnx_tools_utils_spawner_SpawnerInputStream -#define _Included_com_qnx_tools_utils_spawner_SpawnerInputStream -#ifdef __cplusplus -extern "C" { -#endif -#undef com_qnx_tools_utils_spawner_SpawnerInputStream_SKIP_BUFFER_SIZE -#define com_qnx_tools_utils_spawner_SpawnerInputStream_SKIP_BUFFER_SIZE 2048L -/* Inaccessible static: skipBuffer */ -/* - * Class: org_elipse_cdt_utils_spawner_SpawnerInputStream - * Method: read0 - * Signature: (I[BI)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerInputStream_read0 - (JNIEnv *, jobject, jint, jbyteArray, jint); - -/* - * Class: org_eclipse_cdt_utils_spawner_SpawnerInputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerInputStream_close0 - (JNIEnv *, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerOutputStream.h b/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerOutputStream.h deleted file mode 100644 index 444d71c698c..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/SpawnerOutputStream.h +++ /dev/null @@ -1,29 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class com_qnx_tools_utils_spawner_SpawnerOutputStream */ - -#ifndef _Included_com_qnx_tools_utils_spawner_SpawnerOutputStream -#define _Included_com_qnx_tools_utils_spawner_SpawnerOutputStream -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_cdt_utils_spawner_SpawnerOutputStream - * Method: write0 - * Signature: (I[BI)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerOutputStream_write0 - (JNIEnv *, jobject, jint, jbyteArray, jint); - -/* - * Class: org_eclipse_cdt_utils_spawner_SpawnerOutputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerOutputStream_close0 - (JNIEnv *, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/common.mk b/core/org.eclipse.cdt.core.qnx/library/spawner/common.mk deleted file mode 100644 index 40fc9cca6c7..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/common.mk +++ /dev/null @@ -1,14 +0,0 @@ -ifndef QCONFIG -QCONFIG=qconfig.mk -endif -include $(QCONFIG) - -include $(MKFILES_ROOT)/qtargets.mk - -ifeq ($(OS),nto) -ifeq ($(IVEHOME),) -IVEHOME:=/opt/vame/ive/bin -endif -EXTRA_INCVPATH+=$(IVEHOME)/include -endif - diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/iostream.c b/core/org.eclipse.cdt.core.qnx/library/spawner/iostream.c deleted file mode 100644 index e04f9e085ec..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/iostream.c +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -/* iostream.c - * - * This is a JNI implementation of access to standard i/o streams - */ -#include -#include -#include -#include -#include - -#include "SpawnerInputStream.h" -#include "SpawnerOutputStream.h" - - -#include "jni.h" - - -void ThrowByName(JNIEnv *env, const char *name, const char *msg); - -#define BUFF_SIZE (1024) - -/* Inaccessible static: skipBuffer */ -/* - * Class: SpawnerInputStream - * Method: read0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerInputStream_read0 - (JNIEnv * env, jobject proc, jint fd, jbyteArray buf, jint len) -{ - unsigned char tmpBuf[BUFF_SIZE]; - int nBuffOffset = 0; -// printf("Come to read0\n"); - while(len > nBuffOffset) - { - int nReadLen = min(len - nBuffOffset, BUFF_SIZE); - int nread; - nread = read(fd, tmpBuf, nReadLen); - if(nread > 0) - (*env) -> SetByteArrayRegion(env, buf, nBuffOffset, nReadLen, tmpBuf); - else - break; - nBuffOffset += nread; - if(nread != nReadLen) - break; - } -// printf("Leave read with %i bytes read\n", nBuffOffset); - return nBuffOffset; // This is a real full readed length - -} - -/* - * Class: SpawnerInputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerInputStream_close0 - (JNIEnv * env, jobject proc, jint fd) -{ - return close(fd); -} - -/* - * Class: SpawnerOutputStream - * Method: write0 - * Signature: (I[BI)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerOutputStream_write0 - (JNIEnv * env, jobject proc, jint fd, jbyteArray buf, jint len) -{ - unsigned char tmpBuf[BUFF_SIZE]; - int nBuffOffset = 0; -// int rc = 0; -// printf("Come to write0, len = %i\n", len); - while(len > nBuffOffset) - { - int nWriteLen = min(len - nBuffOffset, BUFF_SIZE); - (*env) -> GetByteArrayRegion(env, buf, nBuffOffset, nWriteLen, tmpBuf); -// printf("Write %i bytes; last byte = %#x\n", nWriteLen, (int)tmpBuf[nWriteLen - 1]); - if(nWriteLen != write(fd, tmpBuf, nWriteLen)) - { -// printf("Error: written %i bytes; errno = %i, fd = %i, len = %i ", nWriteLen, errno, fd, rc); - ThrowByName(env, "java/io/IOException", strerror(errno)); - } - nBuffOffset += nWriteLen; - } - return 0; -} - -/* - * Class: SpawnerOutputStream - * Method: close0 - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_SpawnerOutputStream_close0 - (JNIEnv * env, jobject proc, jint fd) -{ - return close(fd); -} diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.c b/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.c deleted file mode 100644 index 55f1fe35847..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.c +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -/** - * This is taken from R. W. Stevens book. - * Alain Magloire. - */ - -int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); - -int -openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp) -{ - char line[20]; - line[0]=0; - *amaster = ptym_open(line); - if (*amaster < 0) - return -1; - *aslave = ptys_open(*amaster, line); - if (*aslave < 0) { - close(*amaster); - return -1; - } - if (name) - strcpy(name, line); -#ifndef TCSAFLUSH -#define TCSAFLUSH TCSETAF -#endif - if (termp) - (void) tcsetattr(*aslave, TCSAFLUSH, termp); -#ifdef TIOCSWINSZ - if (winp) - (void) ioctl(*aslave, TIOCSWINSZ, (char *)winp); -#endif - return 0; -} - -int -ptym_open(char * pts_name) -{ - char *ptr1, *ptr2; - int fdm; - - strcpy(pts_name, "/dev/ptyXY"); - /* array index: 012345689 (for references in following code) */ - for (ptr1 = "pqrstuvwxyzPQRST"; *ptr1 != 0; ptr1++) { - pts_name[8] = *ptr1; - for (ptr2 = "0123456789abcdef"; *ptr2 != 0; ptr2++) { - pts_name[9] = *ptr2; - /* try to open master */ - fdm = open(pts_name, O_RDWR); - if (fdm < 0) { - if (errno == ENOENT) {/* different from EIO */ - return -1; /* out of pty devices */ - } else { - continue; /* try next pty device */ - } - } - pts_name[5] = 't'; /* chage "pty" to "tty" */ - return fdm; /* got it, return fd of master */ - } - } - return -1; /* out of pty devices */ -} - -int -ptys_open(int fdm, char * pts_name) -{ - int gid, fds; - struct group *grptr; - - grptr = getgrnam("tty"); - if (grptr != NULL) { - gid = grptr->gr_gid; - } else { - gid = -1; /* group tty is not in the group file */ - } - - /* following two functions don't work unless we're root */ - chown(pts_name, getuid(), gid); - chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP); - fds = open(pts_name, O_RDWR); - if (fds < 0) { - close(fdm); - return -1; - } - return fds; -} diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.h b/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.h deleted file mode 100644 index 9d497d39eec..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/openpty.h +++ /dev/null @@ -1,15 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#ifndef _OPENPTY_H -#define _OPENPTY_H -int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); -#endif diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/spawner.c b/core/org.eclipse.cdt.core.qnx/library/spawner/spawner.c deleted file mode 100644 index a2647642c81..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/spawner.c +++ /dev/null @@ -1,397 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - initial API and implementation - *******************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "Spawner.h" - -typedef JNIEXPORT void * (JNICALL * JVM_GetThreadInterruptEvent)(); -typedef JNIEXPORT char * (JNICALL * JVM_NativePath)(const char *); - -void ThrowByName(JNIEnv *env, const char *name, const char *msg); -void * GetJVMProc(char * vmlib, char * procName); - -static void * hVM = NULL; /* Java Virtual Machine handler. */ - -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 - (JNIEnv * env, jobject proc, jobjectArray cmdArray, jobjectArray envp, jstring dir, jintArray channels) -{ - int fd_map[3]; /* File descriptors. */ - int fd_ret[3]; /* File descriptors that we return to Java. */ - int fd[2]; /* Pipe open structure. */ - int i; - int nParms = 0;/* Number of parameters. */ - int nEnvs = 0;/* Number of environment variables. */ - char ** pParms = NULL; /* Parameters. */ - char ** pEnvs = NULL; /* Environment variables. */ - char * pCommand = NULL; /* Command to execute. */ - char cwd[PATH_MAX + 1]; /* Current working directory. */ - pid_t pid; /* Process ID. */ - struct inheritance inherit; - - if ((cmdArray == NULL) || ((nParms = (*env)->GetArrayLength(env, cmdArray)) == 0)) - ThrowByName(env, "java/lang/IOException", "No command line specified"); - - for (i = 0; i < 3; ++i) { - if (EOK != pipe(fd)) - ThrowByName(env, "java/io/IOException", "Cannot create pipe for spawner"); - if (0 == i) { - fd_map[i] = fd[0]; - fd_ret[i] = fd[1]; - } else { - fd_map[i] = fd[1]; - fd_ret[i] = fd[0]; - } - } - - if (nParms > 0) { - pParms = malloc(sizeof(char *) * (nParms + 1)); - for (i = 0; i < nParms; ++i) { - jobject item = (*env)->GetObjectArrayElement(env, cmdArray, i); - const char *str = (*env)->GetStringUTFChars(env, item, 0); - if (i == 0) - pCommand = strdup(str); - pParms[i] = strdup(str); - (*env)->ReleaseStringUTFChars(env, item, str); - } - pParms[i] = NULL; - } - - nEnvs = (*env) -> GetArrayLength(env, envp); - if (nEnvs > 0) { - pEnvs = malloc(sizeof(char *) * (nEnvs + 1)); - for (i = 0; i < nEnvs; ++i) { - jobject item = (*env)->GetObjectArrayElement(env, envp, i); - const char *str = (*env)->GetStringUTFChars(env, item, 0); - pEnvs[i] = strdup(str); - (*env)->ReleaseStringUTFChars(env, item, str); - } - pEnvs[i] = NULL; - } - - if (dir != 0) { - char *item = (char *)(*env)->GetStringUTFChars(env, dir, 0); - getcwd(cwd, sizeof(cwd)); - chdir(item); - (*env)->ReleaseStringUTFChars(env, dir, item); - } - - /* Nothing for now. */ - memset(&inherit, 0, sizeof(inherit)); - inherit.flags = SPAWN_SETGROUP; - inherit.pgroup = SPAWN_NEWPGROUP; - - pid = spawnp(pCommand, 3, fd_map, &inherit, pParms, pEnvs); - - if (dir != 0) /* Restore working directory. */ - chdir(cwd); - - for (i = 0; i < 3; ++i) { - close(fd_map[i]); - } - - if (-1 == pid) { /* Failed - close pipes. */ - for (i = 0; i < 3; ++i) { - close(fd_ret[i]); - } - } else { /* Success - return pipes to Java. */ - (*env) -> SetIntArrayRegion(env, channels, 0, 3, fd_ret); - } - - /* Free Parameters. */ - if (pParms != NULL) { - int j; - for (j = 0; pParms[j] != NULL; j++) { - if (pParms[j] != NULL) { - free(pParms[j]); - } - } - free(pParms); - } - - /* Free Environment variables. */ - if (pEnvs != NULL) { - int j; - for (j = 0; pEnvs[j] != NULL; j++) { - if (pEnvs[j] != NULL) { - free(pEnvs[j]); - } - } - free(pEnvs); - } - - /* Free Command to execute. */ - if (pCommand != NULL) { - free(pCommand); - } - - return pid; - -} - -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 - (JNIEnv * env, jobject proc, jobjectArray cmdArray, jobjectArray envp, jstring dir) -{ - int i; - int nParms = 0;// Number of parameters - int nEnvs = 0;// Number of environment variables - char ** pParms = NULL; // Parameters - char ** pEnvs = NULL; // Environment variables - char * pCommand = NULL; // Command to execute - char * pwd = 0; // Process working directory - char cwd[PATH_MAX + 1]; // Current working directory - pid_t pid; // Process ID - struct inheritance inherit; - - if ((cmdArray == 0) || ((nParms = (*env) -> GetArrayLength(env, cmdArray)) == 0)) - ThrowByName(env, "java/lang/NullPointerException", "No command line specified"); - - if(nParms > 0) - { - pParms = malloc(sizeof(char *) * (nParms + 1)); - for(i = 0; i < nParms; ++i) - { - jobject item = (*env) -> GetObjectArrayElement(env, cmdArray, i); - const char * str = (*env) -> GetStringUTFChars(env, item, 0); - if(i == 0) - pCommand = strdup(str); - pParms[i] = strdup(str); - (*env) -> ReleaseStringUTFChars(env, item, str); - } - pParms[i] = NULL; - } - nEnvs = (*env) -> GetArrayLength(env, envp); - if(nEnvs > 0) - { - pEnvs = malloc(sizeof(char *) * (nEnvs + 1)); - for(i = 0; i < nEnvs; ++i) - { - jobject item = (*env) -> GetObjectArrayElement(env, envp, i); - const char * str = (*env) -> GetStringUTFChars(env, item, 0); - pEnvs[i] = strdup(str); - (*env) -> ReleaseStringUTFChars(env, item, str); - } - pEnvs[i] = NULL; - } - - if (dir != 0) - { - char * item; - pwd = strdup(item = (char *)(*env) -> GetStringUTFChars(env, dir, 0)); - getcwd(cwd, sizeof(cwd)); - chdir(pwd); - (*env) -> ReleaseStringUTFChars(env, dir, item); - } - - // Nothing for now - memset(&inherit, 0, sizeof(inherit)); - inherit.flags = SPAWN_SETGROUP; - inherit.pgroup = SPAWN_NEWPGROUP; - - - pid = spawnp(pCommand, 0, NULL, &inherit, pParms, pEnvs); - - - if(dir != 0) // Restore working directory - chdir(cwd); - - return pid; - -} - -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 - (JNIEnv * env, jobject proc, jobjectArray cmdArray, jobjectArray envp, jstring dir, jintArray channels, jstring jslave, jint master) -{ - int fd_map[3]; /* File descriptors. */ - int fd_ret[3]; /* File descriptors that we return to Java. */ - int fd[2]; /* Pipe open structure. */ - int i; - int nParms = 0;/* Number of parameters. */ - int nEnvs = 0;/* Number of environment variables. */ - char ** pParms = NULL; /* Parameters. */ - char ** pEnvs = NULL; /* Environment variables. */ - char * pCommand = NULL; /* Command to execute. */ - char cwd[PATH_MAX + 1]; /* Current working directory. */ - pid_t pid; /* Process ID. */ - struct inheritance inherit; - - if ((cmdArray == NULL) || ((nParms = (*env)->GetArrayLength(env, cmdArray)) == 0)) { - ThrowByName(env, "java/lang/IOException", "No command line specified"); - } - - { - char *pts_name = (char *)(*env)->GetStringUTFChars(env, jslave, 0); - int fds = ptys_open(master, pts_name); - (*env)->ReleaseStringUTFChars(env, jslave, pts_name); - if (fds == -1) { - ThrowByName(env, "java/io/IOException", "Cannot create pipe for spawner"); - } - if (EOK != pipe(fd)) { - ThrowByName(env, "java/io/IOException", "Cannot create pipe for spawner"); - } - fd_map[0] = fd_map[1] = fds; - fd_map[2] = fd[1]; - fd_ret[0] = fd_ret[1] = master; - fd_ret[3] = fd[0]; - } - - if (nParms > 0) { - pParms = malloc(sizeof(char *) * (nParms + 1)); - for (i = 0; i < nParms; ++i) { - jobject item = (*env)->GetObjectArrayElement(env, cmdArray, i); - const char *str = (*env)->GetStringUTFChars(env, item, 0); - if (i == 0) - pCommand = strdup(str); - pParms[i] = strdup(str); - (*env)->ReleaseStringUTFChars(env, item, str); - } - pParms[i] = NULL; - } - - nEnvs = (*env) -> GetArrayLength(env, envp); - if (nEnvs > 0) { - pEnvs = malloc(sizeof(char *) * (nEnvs + 1)); - for (i = 0; i < nEnvs; ++i) { - jobject item = (*env)->GetObjectArrayElement(env, envp, i); - const char *str = (*env)->GetStringUTFChars(env, item, 0); - pEnvs[i] = strdup(str); - (*env)->ReleaseStringUTFChars(env, item, str); - } - pEnvs[i] = NULL; - } - - if (dir != 0) { - char *item = (char *)(*env)->GetStringUTFChars(env, dir, 0); - getcwd(cwd, sizeof(cwd)); - chdir(item); - (*env)->ReleaseStringUTFChars(env, dir, item); - } - - /* Nothing for now. */ - memset(&inherit, 0, sizeof(inherit)); - inherit.flags = SPAWN_SETGROUP; - inherit.pgroup = SPAWN_NEWPGROUP; - - pid = spawnp(pCommand, 3, fd_map, &inherit, pParms, pEnvs); - - if (dir != 0) /* Restore working directory. */ - chdir(cwd); - - for (i = 0; i < 3; ++i) { - close(fd_map[i]); - } - - if (-1 == pid) { /* Failed - close pipes. */ - for (i = 0; i < 3; ++i) { - close(fd_ret[i]); - } - } else { /* Success - return pipes to Java. */ - (*env) -> SetIntArrayRegion(env, channels, 0, 3, fd_ret); - } - - /* Free Parameters. */ - if (pParms != NULL) { - int j; - for (j = 0; pParms[j] != NULL; j++) { - if (pParms[j] != NULL) { - free(pParms[j]); - } - } - free(pParms); - } - - /* Free Environment variables. */ - if (pEnvs != NULL) { - int j; - for (j = 0; pEnvs[j] != NULL; j++) { - if (pEnvs[j] != NULL) { - free(pEnvs[j]); - } - } - free(pEnvs); - } - - /* Free Command to execute. */ - if (pCommand != NULL) { - free(pCommand); - } - - return pid; - -} - -/* - * Class: com_qnx_tools_utils_spawner_Spawner - * Method: raise - * Signature: (II)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_raise - (JNIEnv * env, jobject proc, jint pid, jint sig) -{ - return kill(pid, sig); -} - -/* - * Class: com_qnx_tools_utils_spawner_Spawner - * Method: waitFor - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_waitFor - (JNIEnv * env, jobject proc, jint pid) -{ - int ret, stat_loc; - int val = -1; - - ret = waitpid(pid, &stat_loc, WEXITED); - if (ret == -1 && errno == EINTR) { - // Throw an exception here. - } - if (WIFEXITED(stat_loc)) { - val = WEXITSTATUS(stat_loc); - } - return val; -} - - -// Utilities - -void ThrowByName(JNIEnv *env, const char *name, const char *msg) -{ - jclass cls = (*env)->FindClass(env, name); - - if (cls != 0) /* Otherwise an exception has already been thrown */ - (*env)->ThrowNew(env, cls, msg); - - /* It's a good practice to clean up the local references. */ - (*env)->DeleteLocalRef(env, cls); -} - - - -void * GetJVMProc(char * vmlib, char * procName) -{ - if(NULL == vmlib) - vmlib = "libj9vm14.so"; - if((NULL == hVM) || (NULL == procName)) - { - if(NULL == (hVM = dlopen(vmlib, 0))) - return NULL; - } - return dlsym(hVM, procName); -} diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/x86/Makefile b/core/org.eclipse.cdt.core.qnx/library/spawner/x86/Makefile deleted file mode 100644 index 6a18617612e..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/x86/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LIST=VARIANT -ifndef QRECURSE -QRECURSE=recurse.mk -ifdef QCONFIG -QRDIR=$(dir $(QCONFIG)) -endif -endif -include $(QRDIR)$(QRECURSE) diff --git a/core/org.eclipse.cdt.core.qnx/library/spawner/x86/so/Makefile b/core/org.eclipse.cdt.core.qnx/library/spawner/x86/so/Makefile deleted file mode 100644 index cc399272607..00000000000 --- a/core/org.eclipse.cdt.core.qnx/library/spawner/x86/so/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../../common.mk diff --git a/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libpty.so b/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libpty.so deleted file mode 100644 index 74a41b7d123..00000000000 Binary files a/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libpty.so and /dev/null differ diff --git a/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libspawner.so b/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libspawner.so deleted file mode 100644 index 0de48acc848..00000000000 Binary files a/core/org.eclipse.cdt.core.qnx/os/qnx/x86/libspawner.so and /dev/null differ diff --git a/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessInfo.java b/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessInfo.java deleted file mode 100644 index 1ffec6680fc..00000000000 --- a/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessInfo.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2006 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.qnx; - -import org.eclipse.cdt.core.IProcessInfo; - -/** - * @author alain - * - * To change this generated comment edit the template variable "typecomment": - * Window>Preferences>Java>Templates. - * To enable and disable the creation of type comments go to - * Window>Preferences>Java>Code Generation. - */ -public class ProcessInfo implements IProcessInfo { - - int pid; - String name; - - public ProcessInfo(String pidString, String name) { - try { - pid = Integer.parseInt(pidString); - } catch (NumberFormatException e) { - } - this.name = name; - } - - public ProcessInfo(int pid, String name) { - this.pid = pid; - this.name = name; - } - - /** - * @see org.eclipse.cdt.core.IProcessInfo#getName() - */ - public String getName() { - return name; - } - - /** - * @see org.eclipse.cdt.core.IProcessInfo#getPid() - */ - public int getPid() { - return pid; - } - -} diff --git a/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessList.java b/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessList.java deleted file mode 100644 index 77ec0272d97..00000000000 --- a/core/org.eclipse.cdt.core.qnx/src/org/eclipse/cdt/internal/core/qnx/ProcessList.java +++ /dev/null @@ -1,140 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2010 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * QNX Software Systems - Initial API and implementation - *******************************************************************************/ -package org.eclipse.cdt.internal.core.qnx; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.FilenameFilter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.StringTokenizer; - -import org.eclipse.cdt.core.IProcessInfo; -import org.eclipse.cdt.core.IProcessList; -import org.eclipse.cdt.utils.spawner.ProcessFactory; - -/** - * Insert the type's description here. - * @see IProcessList - */ -public class ProcessList implements IProcessList { - - ProcessInfo[] empty = new ProcessInfo[0]; - - public ProcessList() { - } - - /** - * Insert the method's description here. - * @see IProcessList#getProcessList - */ - public IProcessInfo [] getProcessList() { - Process pidin; - BufferedReader pidinOutput; - String[] args = {"pidin", "-fan" }; //$NON-NLS-1$ //$NON-NLS-2$ - - try { - pidin = ProcessFactory.getFactory().exec(args); - pidinOutput = new BufferedReader(new InputStreamReader(pidin.getInputStream())); - } catch(Exception e) { - return getProcessListPureJava(); - } - - //Read the output and parse it into an array list - ArrayList procInfo = new ArrayList(); - - String pidStr, nameStr, lastline; - try { - while((lastline = pidinOutput.readLine()) != null) { - //The format of the output should be - //PID a/slash/delimited/name - - StringTokenizer tok = new StringTokenizer(lastline.trim()); - pidStr = tok.nextToken(); - if(pidStr == null || pidStr.charAt(0) < '0' || pidStr.charAt(0) > '9') { - continue; - } - - nameStr = tok.nextToken(); - - int index = nameStr.lastIndexOf('/'); - if(index != -1) { - nameStr = nameStr.substring(index + 1); - } - - procInfo.add(new ProcessInfo(pidStr, nameStr)); - } - pidinOutput.close(); - pidin.destroy(); - } catch(Exception e) { - /* Ignore */ - } finally { - pidin.destroy(); - } - - return (IProcessInfo [])procInfo.toArray(new IProcessInfo[procInfo.size()]); - } - - /** - * This is our current backup strategy for getting the pid list - * (reading /proc directly). Currently the exename is not implemented - * so the names will all show up as unknown, but at least you get a - * pid list. - */ - private IProcessInfo [] getProcessListPureJava() { - File proc = new File("/proc"); //$NON-NLS-1$ - File[] pidFiles = null; - - // We are only interrested in the pid so filter the rest out. - try { - FilenameFilter filter = new FilenameFilter() { - public boolean accept(File dir, String name) { - boolean isPID = false; - try { - Integer.parseInt(name); - isPID = true; - } catch (NumberFormatException e) { - } - return isPID; - } - }; - pidFiles = proc.listFiles(filter); - } catch (SecurityException e) { - } - - ProcessInfo[] processInfo = empty; - if (pidFiles != null) { - processInfo = new ProcessInfo[pidFiles.length]; - for (int i = 0; i < pidFiles.length; i++) { - File cmdLine = new File(pidFiles[i], "exename"); //$NON-NLS-1$ - StringBuffer line = new StringBuffer(); - try { - FileReader reader = new FileReader(cmdLine); - int c; - while ((c = reader.read()) > 0) { - line.append((char)c); - } - } catch (IOException e) { - } - String name = line.toString(); - if (name.length() == 0) { - name = "Unknown"; //$NON-NLS-1$ - } - processInfo[i] = new ProcessInfo(pidFiles[i].getName(), name); - } - } else { - pidFiles = new File[0]; - } - return processInfo; - } -} diff --git a/debug/org.eclipse.cdt.debug.application.tests/StandaloneTests.launch b/debug/org.eclipse.cdt.debug.application.tests/StandaloneTests.launch index 3fcfc83c331..deaec7009fd 100644 --- a/debug/org.eclipse.cdt.debug.application.tests/StandaloneTests.launch +++ b/debug/org.eclipse.cdt.debug.application.tests/StandaloneTests.launch @@ -34,7 +34,7 @@ - +