Re: [kaffe] config/i386/freebsd2/md.c

2005-08-22 Thread Dalibor Topic

Ito Kazumitsu wrote:

Hi,

Today's make on FreeBSD 5.4-RELEASE faild while compiling
config/i386/freebsd2/md.c.

In file included from ../../config/i386/freebsd2/md.c:17,
 from md.c:1:
/usr/include/sys/sysctl.h:637: error: syntax error before u_int
gmake[2]: *** [libkaffevm_la-md.lo] Error 1



Thanks for the bug report,Ito, I've checked in a patch.

Riccardo moved a few headers out of config-std.h to more easily be able 
to track down build failures on HP-UX, and that may cause some missing 
header  implicit declaration inconveniences on other platforms.


If you encounter implicit declaration warnings during your build, 
please add the necessary headers to the files needing them and check 
such a patch in.


Riccardo and me have since added the relevant headers back into files 
that depend on them on various platforms, but there will probably be a 
few to go.


cheers,
dalibor topic

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] CVS kaffe (robilad): Added missing include for x86-freebsd

2005-08-22 Thread Kaffe CVS
PatchSet 6867 
Date: 2005/08/22 12:38:34
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Added missing include for x86-freebsd

2005-08-22  Dalibor Topic  [EMAIL PROTECTED]

* config/i386/freebsd2/md.c: Include sys/types.h

Reported by:  Ito Kazumitsu [EMAIL PROTECTED]

Members: 
ChangeLog:1.4388-1.4389 
config/i386/freebsd2/md.c:INITIAL-1.5 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4388 kaffe/ChangeLog:1.4389
--- kaffe/ChangeLog:1.4388  Sun Aug 21 19:54:46 2005
+++ kaffe/ChangeLog Mon Aug 22 12:38:34 2005
@@ -1,3 +1,9 @@
+2005-08-22  Dalibor Topic  [EMAIL PROTECTED]
+
+   * config/i386/freebsd2/md.c: Include sys/types.h
+
+   Reported by:  Ito Kazumitsu [EMAIL PROTECTED]
+
 2005-08-21  Dalibor Topic  [EMAIL PROTECTED]
 
Resynced with GNU Classpath.
===
Checking out kaffe/config/i386/freebsd2/md.c
RCS:  /home/cvs/kaffe/kaffe/config/i386/freebsd2/md.c,v
VERS: 1.5
***
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/config/i386/freebsd2/md.c Mon Aug 22 12:43:50 2005
@@ -0,0 +1,40 @@
+/*
+ * i386/freebsd2/md.c
+ * FreeBSD i386 specific functions.
+ *
+ * Copyright(c) 2004 The Kaffe.org's developers.
+ *
+ * Some parts are imported from the boehm-gc.
+ *
+ * See the file license.terms for information on usage and redistribution 
+ * of this file. 
+ */
+
+#include config.h
+#include config-std.h
+
+#if defined(HAVE_SYS_TYPES_H)
+#include sys/types.h
+#endif
+
+#if defined(HAVE_SYS_SYSCTL_H)
+#include sys/sysctl.h
+
+void *mdGetStackEnd(void)
+{
+int control_name[2] =
+  { CTL_KERN, KERN_USRSTACK};
+void *stackbase;
+size_t len = sizeof(void *);
+
+if (sysctl(control_name, 2, stackbase, len, NULL, 0))
+  {
+   fprintf(stderr, 
+   Kaffe VM has not been able to retrieve the pointer to the 
stack base\n
+   Aborting...\n);
+   exit(1);
+  }
+   return stackbase;
+}
+
+#endif

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] concerns about large files and HP-UX in kaffe

2005-08-22 Thread Riccardo

Hello,

while analyzing warnings on HP-UX 10.20 I found troubles with symbols  
inside system headers (just warnings.. on stuff like __64()).
Further analysis shows that this happens when _FILE_OFFSET_BITS is set  
to 64 (without ay further options flags or system includes).


now together with _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE they are  
posix flags to regulate the usage of the functions, either by defining  
that the old function name xx() works as 64bit or by defining a xx64()  
version.


read here:

http://www.pimpworks.org/hp/relnotes/lg_files.txt

now I don't understand why on my hp-ux 10.20 box I get these warnings.  
(it might be interesting to check other hp-ux 10.20 boxes...).


interesting is that my os should support large files (read  
http://hpwww.epfl.ch/HPUX/10.20RelNotes for further notes, esp. the  
section

Large Files
 
@
For 10.20, HP-UX now supports files up to 128GB in size.  The prior  
limit was

2GB.)

but the first document says

6.1.4 Determining if large-files are supported

For developers that want to write code that is portable between
systems that support large files and sys- tems that do not support
large files, two announcement macros are available. These announcement
mac- ros are _LFS_LARGEFILE and _LFS64_LARGEFILE.


apparently on my computer, when using a test file and gcc 2.95,  
_LFS_LARGEFILE is not 1. SO I am confused. Maybe this causes the many  
warnings. Also these warnings could cause malfunction...


Maybe it is that 10.20 headers have torubles, but I doubt this, it is  
something too evident... Even hello world causes warnings if 64bit is  
on and a system header file is included.


any help welcome, especially by people with access to 10.20 systems  
(and possibly verifying 11.x systems...)


in any case, I don't know what we are doing, but posix says

  1. Make the program aware of large files without actually supporting
 them.  Look for the new open() and stat() errors and, if  
encountered,

 take appropriate actions.  For example, if your application is a
 browser that currently exits when stat fails, it can instead be
 changed to display an appropriate message and then continue.

  2. Use standard types and calls, but compile the program in the
 environment that uses 64 bits for the relevant types.  Note that
 other source changes will most likely be necessary to correctly
 support the larger data types.

  3. Use the new *64() calls in the 32-bit compile environment.  This
 involves explicitly coding the *64() names into the source code.
 This should only be done when a specific portion of the application
 needs to be large file aware, while other parts do not.  This  
approach

 is not recommended if the alternative described above can be used.

the current behavior is that the following kind of definition is  
activated in the system headers


static xxx() { return __xxx64() }

which would mean that we use standard names and want then to be 64bit.

all __xxx64() definition in these files result undefined (interestingly  
this is for C.. if it was c++ the symbols would have been defined as  
extern)


so maybe it is really some header imprecision ? or did we find some  
corner case ? I wonder... also the fact that the 64bit macro that  
should return 1 returns 0 here...


Cheers,
   Riccardo


___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] xargs -i

2005-08-22 Thread Ito Kazumitsu
Hi,

The following line Makefile.am causes error on FreeBSD.

echo 
KAFFELIBRARYPATH=\$${KAFFELIBRARYPATH+\\$$KAFFELIBRARYPATH\\''$(PATHSEP)'\'}`for
 f in $(JAVA_LIBS); do echo $$f | sed 's%/[^/]*$$%%' | xargs -n 1 -iXXX echo 
XXX/.libs; done | (tr '\012' ' '; echo) | sed -e 's/ $$//' -e s/ 
/\'$(PATHSEP)\'/g`\; export KAFFELIBRARYPATH  BUILD_ENVIRONMENT.new; \

xargs -i is specific to GNU version of xargs, and FreeBSD's xargs
does not accept that option.  I had to install GNU's findutils-4.2.23
to make all the tests pass.

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


Re: [kaffe] xargs -i

2005-08-22 Thread Dalibor Topic
Ito Kazumitsu wrote:
 Hi,
 
 The following line Makefile.am causes error on FreeBSD.
 
 echo 
 KAFFELIBRARYPATH=\$${KAFFELIBRARYPATH+\\$$KAFFELIBRARYPATH\\''$(PATHSEP)'\'}`for
  f in $(JAVA_LIBS); do echo $$f | sed 's%/[^/]*$$%%' | xargs -n 1 -iXXX 
 echo XXX/.libs; done | (tr '\012' ' '; echo) | sed -e 's/ $$//' -e s/ 
 /\'$(PATHSEP)\'/g`\; export KAFFELIBRARYPATH  BUILD_ENVIRONMENT.new; \
 
 xargs -i is specific to GNU version of xargs, and FreeBSD's xargs
 does not accept that option.  I had to install GNU's findutils-4.2.23
 to make all the tests pass.

I am sorry about that, I already received a patch to fix that using the
apparently more standard -I option.

I've thought about avoiding such bugs in the future, and I think instead
of using a scriptlet, maybe manually listing all the native libraries
necessary to run the test suite in the KAFFELIBRARYPATH variable is a
better choice. I'll try that and check it in if it works for me.

cheers,
dalibor topic

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe