BP Dedicated Server

2005-05-01 Thread Mark
Title: New Page 1







To bug-hurd@gnu.org:

We supply BulletProof servers for you:
Fresh IPs
512MB RAM
P4 CPU
36 GB SCS
Dedicated 100 M fiber
Unlimited Data Transfer
Linux/Windows/FreeBSD
Locate in China

Price: No setup fee
  US$ 599.00/MO

  You can use the servers for any of the following:

  Direct Mailing or Proxy Mailing
  Bulk Web Hosting

Or
customize Dedicated Server:    More 
Information

We also can supply Target Email Addresses according to your 
 requirements, and sending out Target Emails for you. 

Looking forward to do business with you.


Mark
 Server Dept
[EMAIL PROTECTED]

***
No.Thank: [EMAIL PROTECTED]@gnu.org
***






___
Bug-hurd mailing list
Bug-hurd@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-hurd


Re: Patches to GDB to make cross-compile friendly...

2000-02-26 Thread Mark Kettenis

   Date: Sat, 26 Feb 2000 03:22:21 -0500
   From: Roland McGrath <[EMAIL PROTECTED]>

   That looks fine, though you should match `*-*-gnu*' for the configuration.
   Mark Kettenis is in charge of gdb for hurd and will take care of getting
   the fix put into gdb.

It is probably easier to not conditionalize the check for MiG on the
host triplet.  AC_CHECK_TOOL isn't really expensive.  I'll check in
the following patch once it is approved.

Mark


2000-02-26  Mark Kettenis  <[EMAIL PROTECTED]>

Make cross-compilation for the Hurd more friendly.
From Jeff Bailey <[EMAIL PROTECTED]>:
* configure.in: Use AC_CHECK_TOOL to find MiG.
* Makefile.in (MIG): New variable.
* config/i386/i386gnu.mh (MIG): Remove.
* configure: Regenerated.


Index: gdb/configure.in
===
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.7
diff -u -r1.7 configure.in
--- gdb/configure.in2000/02/24 08:16:26 1.7
+++ gdb/configure.in2000/02/26 13:31:55
@@ -77,6 +77,9 @@
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_PROG_YACC
 
+dnl MiG is needed for the Hurd.
+AC_CHECK_TOOL(MIG, mig)
+
 AC_ARG_PROGRAM
 
 AC_TYPE_SIGNAL
Index: gdb/Makefile.in
===
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.8
diff -u -r1.8 Makefile.in
--- gdb/Makefile.in 2000/02/24 08:16:26 1.8
+++ gdb/Makefile.in 2000/02/26 13:31:57
@@ -59,6 +59,7 @@
 RANLIB = @RANLIB@
 DLLTOOL = @DLLTOOL@
 WINDRES = @WINDRES@
+MIG = @MIG@
 
 # If the user configured GDB to include the TUI, the name of the tui
 # library goes here.
Index: gdb/config/i386/i386gnu.mh
===
RCS file: /cvs/src/src/gdb/config/i386/i386gnu.mh,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 i386gnu.mh
--- gdb/config/i386/i386gnu.mh  1999/04/16 01:34:18 1.1.1.1
+++ gdb/config/i386/i386gnu.mh  2000/02/26 13:31:57
@@ -12,7 +12,6 @@
 msg-MIGUFLAGS = -D'MSG_IMPORTS=waittime 1000;'
 
 # ick
-MIG = mig
 MIGCOM = $(MIG) -cc cat - /dev/null
 
 # Reply servers need special massaging of the code mig generates, to make



Re: Bug#62328: unexpected error in __fork

2000-04-13 Thread Mark Kettenis

   Date: Thu, 13 Apr 2000 19:03:43 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Package: hurd
   Version: N/A

   Hi,

   I sometimes see this when compiling packages, followed by a crash and
   reboot. I can't see the console messages leading to this crash, maybe
   someone else or me can follow up later with more information.

   perl: ../sysdeps/mach/hurd/fork.c:158: __fork: Nicht erwarteter
   Fehler: (ipc/send) invalid destination port.

   (Nicht erwarteter Fehler: Unexpected Error).

Time to upgrade your Hurd!  We fixed this bug last month :-)

>From proc/ChangeLog:

2000-03-13  Roland McGrath  <[EMAIL PROTECTED]>

* mgt.c (S_proc_exception_raise): Check for
MACH_SEND_NOTIFY_IN_PROGRESS rather than MACH_SEND_INVALID_NOTIFY.
Don't deallocate THREAD and TASK ports before the switch, since the
successful case uses THREAD again and the failure case uses TASK
again.  Instead, deallocate them at the end of the successful case.
At the end of the error case, use mach_port_destroy on THREAD only.

* stubs.c (struct msg_sig_post_request): New type, broken out of
send_signal, where it was anonymous.
(struct msg_spec): Type removed.
(blocking_message_send): Change type to any_t -> any_t.
Don't call cthread_wire; it's a no-op in GNU anyway.
Just return instead of calling cthread_exit.
Argument is now a pointer to struct msg_sig_post_request.
Check mach_msg return value for sanity assert.
(send_signal): Make MESSAGE auto instead of static, use new type name.
    This problem tracked down by Mark Kettenis <[EMAIL PROTECTED]>.

Mark




Re: write support without inodes

2000-05-07 Thread Mark Kettenis

   Date: Sun, 7 May 2000 22:27:17 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Hi,

   as you may know, there are no inodes in the FATFS, all information being
   stored directly in the directory entry.

   Do I need some lock on the directory node when updating the node
   information?

   Do you have any other tips for this situation, things to watch out for, or
   strategies how to get the location of the directory entry (seems I need a
   lookup at update time, because the address is not robust under rename
   operations (moving the file to a different directory).

Not really, but maybe you could get some idea's from looking at Linux
or one of the BSD's.

Mark




Re: MIG -> CORBA

2000-05-09 Thread Mark Kettenis

   Date: Tue, 9 May 2000 23:28:58 +0200
   From: "Martin v. Loewis" <[EMAIL PROTECTED]>

[ This is not really directed to you Martin, but the last line of this
  message just provided a convenient point to jump in the discussion. ]

   > > No, it isn't. Its license is more liberal than the GPL.
   > That's right. But It seems as a completely new environment for me and
   > it has less conformance even that ORBit.

   I won't argue about the "new environment" part. On the "less
   conformance" part, can you give me a feature that is implemented
   conformingly in ORBit, but not in ILU?

   Not that this has to do anything with the Hurd...

Indeed.  I don't really have experience with CORBA, but I don't think
the issues in this thread are relevant in this stage of Hurd
development.  Right now the core Hurd protocols are defined by the MiG
.defs files.  At one side this defines the C ABI, at the other side
this defines the layout of messages and conventions on how to handle
the data contained in them for use with Mach IPC.  None of these can
be easily changes without rewriting most of the Hurd.

I also fail to see why we need an ORB.  The Mach kernel handles most
of the things the ORB usually does.

Now MiG has some drawbacks, and therefore, one day, we'll want to
switch to a more sane IDL.  That's why there is some blurb in the task
list.  It would make sense to choose an IDL that's already widely
used, such as the CORBA IDL.  Especially since one day we might want
to run the Hurd on other microkernels besides Mach.  We might need
some sort of an ORB too, but this should probably be tightly
integrated with the underlying microkernel.

Feel free to talk about this stuff if you want.  Just don't expect any
of the core Hurd developers to take part in it.  That might be a good
reason to take it off the bug-hurd mailing list.

Mark




Re: MIG -> CORBA

2000-05-09 Thread Mark Kettenis

   Date: Tue, 09 May 2000 13:09:59 -0400
   From: Serguei Izvoztchikov <[EMAIL PROTECTED]>

   Jeff Bailey wrote:

   > I'm not a Master-Hurd-Programmer, but I know that Roland and Thomas have
   > declined to add wrappers within their header files to permit linking from
   > C++ programs, so I don't think they're going to change.
   What is the reason ?

C is the one-and-only language all respectable system programmers
understand.  The Hurd uses a dialect called "GNU C" since it has some
nice features that we just need to have.  Other dialects that
retroactively change the rules (like added new reserved words) are
just not worth supporting.

Mark




Re: MIG -> CORBA

2000-05-10 Thread Mark Kettenis

   Date: Tue, 9 May 2000 22:55:21 +0500 (GMT-5)
   From: Sergey Izvoztchikov <[EMAIL PROTECTED]>

   On Wed, 10 May 2000, Mark Kettenis wrote:

   > Indeed.  I don't really have experience with CORBA, but I don't think
   > the issues in this thread are relevant in this stage of Hurd
   > development.  Right now the core Hurd protocols are defined by the MiG
   > .defs files.  At one side this defines the C ABI, at the other side
   > this defines the layout of messages and conventions on how to handle
   > the data contained in them for use with Mach IPC.  None of these can
   > be easily changes without rewriting most of the Hurd.
   First thought was that Hurd should have its ORB to be treated
   an Enterprise level OS. I heard about possibility of inter-computer 
   communications using Mach messages, but I suspect it doesn't function 
   in Hurd now.

   I started with studying Flick from FLUX which theoretically allows
   to generate Mach3 IPC from CORBA IDLs. And I think that using
   CORBA allows mush more people start writing new servers and porting
   existing software to Hurd. It's just more convenient way for programmers 
   who already knows CORBA.

Well, if all you're interested in is porting an existing CORBA
implementation (like ORBit) to the Hurd, you'd be more than welcome.
However, take a look at the Debian/Hurd project first.  It might
already have been done :-).

If you think it is possible to make things more efficient by doing the
actual data transfer directly via Mach IPC, that might indeed be
something worth exploring.

However, *replacing* MiG with CORBA doesn't make sense right now.  The
only thing we use MiG for in the Hurd is in the core interfaces.

Feel free to ask any *technical* questions on porting CORBA to the
Hurd on bug-hurd.  Packaging issues are probably best discussed on
debian-hurd.

Mark




Re: Bug#63723: hurd: suspicious code in ext2fs/pager.c

2000-05-11 Thread Mark Kettenis

   From: Kalle Olavi Niemitalo <[EMAIL PROTECTED]>
   Date: 10 May 2000 10:03:52 +0300

   According to the glibc manual, the result of setjmp must not be
   assigned like diskfs_catch_exception does: it must be either
   immediately used in a do/while/for/if/switch statement or
   ignored.  Has GCC relaxed this restriction?

It looks to me that there is no problem with assigning the result of
setjmp for the Hurd.  Since setjmp() is just a macro that calls
__sigsetjmp(), we're simply assigning the return value of a function.
Since that return value is guaranteed to be in the %eax register,
regardless of whether that return was the result of a non-local goto
or not, doesn't matter.

Of course this isn't portable.  There may be implementations that put
additional restrictions on the use of setjmp().  ISO C allows setjmp()
to be implemented as a macro, which means that the argument above
doesn't have to apply.  That's probably why the manual mentions those
restrictions.

However, for the Hurd servers themselves, it is not too bad to make
some additional assumptions about implementation details if that is
convenient or improves performance.

Mark




Re: CVS version doesn't boot for me

2000-05-18 Thread Mark Kettenis

   Date: Sun, 14 May 2000 02:52:49 -0400 (EDT)
   From: Roland McGrath <[EMAIL PROTECTED]>

   > On Sat, Apr 22, 2000 at 02:20:30AM +0200, Marcus Brinkmann wrote:
   > > 
   > > I have troble with current CVS version, cross compiled with gcc
   > > 2.95.2 and glibc 2.1.3 (as of 2000/02/24). When booting, I get:

   The changes I made related to versioning went into glibc (2.2) on
   2000-03-30 or thereabouts and into hurd/libthreads at about the same time.
   It is not too surprising to have a problem with an old glibc and a new
   hurd.  I am not able to do any real hacking or even much code-reading these
   days (it will be probably at least several more weeks before I can), and I
   don't recall the full details of all this off hand.  I don't think there
   should be a problem like this, but I don't have enough information on hand
   right now to be of much more help.  Mark understands the details too and
   might be able to help before I can.

There is indeed a versioning problem.  The following symbols exist
both in libc and libthreads:

__mutex_lock_solid, __mutex_unlock_solid,
_cthread_exit_routine, _cthread_init_routine,
cthread_keycreate, cthread_getspecific, cthread_setspecific;

The symbols in libc are supposed to overridden by the symbols in
libthread.  Before Roland's change, the symbols in libc were're bound
to version GLIBC_2.0, and the symbols in libthreads were unversioned,
and apparently this worked fine.  However, now the symbols in
libthreads are versioned, and bound to a *different* version
HURD_CTHREADS_0.3.  So the symbols in libthread no longer override
those in libc.  This means that the cthreads library isn't initialized
so it isn't surprising that the exec server crashes in the boot
process.

I think Roland's nifty versioning plan can only be implemented if we
use different versions for a libio-ified Hurd than for a stdio-using
Hurd.  In that case I think it is reasonable to keep libthreads
unversioned with stdio and only use the version script with libio.

If you agree Roland, I'll add the necessary stuff to configure.in and
the relevant Makefile.

Mark




Re: CVS version doesn't boot for me

2000-05-19 Thread Mark Kettenis

   Date: Thu, 18 May 2000 23:11:38 -0400 (EDT)
   From: Roland McGrath <[EMAIL PROTECTED]>

   I really don't have sources or a build on hand to look at at all these days.
   But I suspect that it will dtrt for glibc-2.1 compatibility if we make
   aliases with the GLIBC_2.0 version tag in libthreads.so for the symbols
   from libc.  I'm not sure off hand if we can do this in the version script
   or if we need to add .symver wierdness when building libthreads.

No problem.  Your suggestion would indeed work, but we do need
".symver wierdness" for this.  However, I really don't see the
benefits.  It is impossible to use the same libthreads with both a
stdio-using libc (either 2.1 or 2.2) and a libio-using libc (2.2 with
a different soname).  Leaving libthreads for a stdio-based Hurd
unversioned and only version the libthreads for a libio-based Hurd is
IMHO the simplest and most robust way to solve the problem.

Mark




Re: CVS version doesn't boot for me

2000-05-20 Thread Mark Kettenis

   Date: Fri, 19 May 2000 19:03:38 -0400 (EDT)
   From: Roland McGrath <[EMAIL PROTECTED]>

   Yeah, on later thought I liked your idea fine.  

Here's a patch.  OK to check this in?


2000-05-20  Mark Kettenis  <[EMAIL PROTECTED]>

* configure.in: Add check for libio.  Only enable versioning if we
found libio.


Index: configure.in
===
RCS file: /home/cvs/hurd/configure.in,v
retrieving revision 1.18
diff -u -p -r1.18 configure.in
--- configure.in2000/03/27 18:20:47 1.18
+++ configure.in2000/05/20 14:23:12
@@ -93,7 +93,23 @@ else
   hurd_cv_ld_version_script_option=no
 fi
 rm -f conftest*])
-VERSIONING=$hurd_cv_ld_version_script_option
+
+# See if libc was built with --enable-libio.
+AC_CACHE_CHECK([for libio],
+  hurd_cv_libio,
+  AC_TRY_COMPILE([#include 
+#ifndef _STDIO_USES_IOSTREAM
+# error No libio found.
+#endif],,
+hurd_cv_libio=yes,
+hurd_cv_libio=no))
+
+# Only turn on versioning if we found libio and versioning is supported.
+if test $hurd_cv_libio = yes; then
+  VERSIONING=$hurd_cv_ld_version_script_option
+else
+  VERSIONING=no
+fi
 AC_SUBST(VERSIONING)
 
 




Re: CVS version doesn't boot for me

2000-05-14 Thread Mark Kettenis

   Date: Sun, 14 May 2000 02:52:49 -0400 (EDT)
   From: Roland McGrath <[EMAIL PROTECTED]>

   The changes I made related to versioning went into glibc (2.2) on
   2000-03-30 or thereabouts and into hurd/libthreads at about the same time.
   It is not too surprising to have a problem with an old glibc and a new
   hurd.  I am not able to do any real hacking or even much code-reading these
   days (it will be probably at least several more weeks before I can), and I
   don't recall the full details of all this off hand.  I don't think there
   should be a problem like this, but I don't have enough information on hand
   right now to be of much more help.  Mark understands the details too and
   might be able to help before I can.

I'll look into it the coming week.

Mark




Re: Port to PowerPC

2000-07-09 Thread Mark Kettenis

   Date: Sat, 8 Jul 00 19:59:25 +0100
   From: Peter Bruin <[EMAIL PROTECTED]>

   Hello,

   I would like to work on a port of the Hurd to the PowerPC, using OSF 
   Mach. I have already cross-compiled (= hacked) most of the GNU C library 
   and the Hurd; serverboot works (from the MkLinux prompt) until it tries 
   to load ext2fs.static (which I haven't done yet). Does anybody have 
   comments on this, and is there anything I should do before continuing?

I did some work on getting the hurd running on OSF Mach on the i386,
but more or less abandoned it.  I have some stuff for libc still lying
around, that I could put up somewhere if you'd like.  But if you've
indeed already cross-compiled most of libc and the Hurd, its probably
not of much use.

OSF Mach is a bit different from GNU Mach.  The set of RPC's is
slightly different and I believe that the OSF MiG is slightly
different from the traditional MiG used on GNU Mach.  I don't know if
you can use the GNU MiG at all (perhaps you can use oit for the Hurd's
*.defs files), but if you use the OSF MiG you'll probably need to hack
the Hurd *.defs files somewhat.  You'll also have to adjust some hand
crafted Mach messages that are hidden in the Hurd and libc.

If it's of any use, I packaged the OSF MiG some time ago, and modified
it in a way such that it is a bit more compatible with the GNU MiG.
You can find it at http://www.wins.uva.nl/~kettenis/osfmk.

If you have some concrete questions, don't hesitate to ask.  I'd love
to see the Hurd running alongside with Mac OS X :-).

Mark




Re: translators, ext2 and files

2000-07-13 Thread Mark Kettenis

   Date: Thu, 13 Jul 2000 19:27:55 -0400
   From: Olivier Galibert <[EMAIL PROTECTED]>

   On Fri, Jul 14, 2000 at 01:07:38AM +0200, Marcus Brinkmann wrote:
   > On Thu, Jul 13, 2000 at 07:01:28PM -0400, Olivier Galibert wrote:
   > > Currently the on-disk structures for translators in ext2 allow for an
   > > inode to be both a passive translator and a file (or directory) with
   > > actual contents.  AFAICT, this capability is not used anywhere for
   > > now.  I'm not even sure it is accessible from the filesystem
   > > interface.
   > 
   > The underlying node is accessible to the translator, and this can and will
   > be used for example for filter (or for example for activity logging etc).

   But only the translator has access to it?  That's yucky.  This means
   that things can be hidden behind a translator and the only way for
   both yourself and the sysadmin to know what's there is to remove it?

That's why we have O_NOTRANS, i.e. you can do

   fd = open (..., O_READ | O_NOTRANS);

and use the file descriptor to read from the actual file.

   It's probably even too magic for the translator itself.  This does not
   work:
   dd if=/dev/zero of=dummy bs=1024k count=8
   mke2fs dummy
   settrans -c dummy /hurd/ext2fs `pwd`/dummy

   ...because the translator will end up looping on itself.

Did you check that?  If it really does that, I'd consider it a bug,
and I might try to fix it :-).

Anyway, I agree with Marcus that it's useful to have this feature, and
it's probably how Thomas designed it.

Mark




Re: translators, ext2 and files

2000-07-14 Thread Mark Kettenis

   From: Kalle Olavi Niemitalo <[EMAIL PROTECTED]>
   Date: 14 Jul 2000 23:23:31 +0300

   Mark Kettenis <[EMAIL PROTECTED]> writes:

   >Date: Thu, 13 Jul 2000 19:27:55 -0400
   >From: Olivier Galibert <[EMAIL PROTECTED]>
   > 
   >settrans -c dummy /hurd/ext2fs `pwd`/dummy
   > 
   >...because the translator will end up looping on itself.
   > 
   > Did you check that?  If it really does that, I'd consider it a bug,
   > and I might try to fix it :-).

   I think it would be better to reserve "-" for the untranslated
   node.  (Or is there a place where that would clash with the
   std{in,out} meaning?)

I think it's better to reserve "-" for stdin, and not overload it for
this purpose.

How about having a magic translator /dev/underlying to represent the
underlying node of a translator (similar to /dev/tty for the
controlling terminal)?

Mark




Re: debugging the exec server

2000-07-18 Thread Mark Kettenis

   Date: Wed, 19 Jul 2000 00:14:01 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Hi Kalle,

   you asked:

   > Is it possible to debug the primary exec server with gdb?
   > Or is it possible to run another exec server and debug that?

   I have successfully attached gdb to the primary exec server (pid 5), but it
   is quite unstable, and not recommended.

Marcus,

Are you aware that you can do

   $ gdb /hurd/exec
   ...
   (gdb) set noninvasive on
   (gdb) attach 5
   ...
   (gdb)

to debug essential system servers?  You cannot really control program
flow this way, but backtraces should work fine, and you can print
variables (and watch them change underneath you).

Mark




Re: small note about unexp. error in __fork

2000-07-27 Thread Mark Kettenis

   Date: Thu, 27 Jul 2000 12:50:22 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Hi,

   I just realized that I am suffering this unexpected error in __fork
   problem only in long (several hours) perl runs. The autobuilder is
   such a perl program, and it has a lot of system() calls (which is
   perlish for fork/exec), which themselve can take a long time.

That's a bit unfortunate, since it's hard too debug if you got to wait
a long time for it to happen.

Does your Hurd crash shortly after it happens, or will it keep
running?

The last time the bug was in the proc server.  It was losing point
rights when sending signals to a program.  You could use GDB on the
proc server to see if you can spot any cases where the number of port
references is obviously wrong.  The `set noninvasive on' and `info
port' commands might be useful.

Mark





Re: _FILE_OFFSET_BITS 64 not supported (was: Re: WARNING fileutils 4.0x-1 severly broken

2000-07-28 Thread Mark Kettenis

   Date: Sat, 29 Jul 2000 00:27:09 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   The culprit is that fileutils now defines _FILE_OFFSET_BITS 64 on the Hurd,
   which sucks in functions like readdir64, lseek64 etc

   Can we easily implement those?

Not really.

   I have to use --disable-largefile on the Hurd, it seems.

That would do the trick for now.

   Funnily, the autoconf check doesn't bother to check if largefiles
   are really supported.

That's broken I think.

   checking for special C compiler options needed for large files... no
   checking for _FILE_OFFSET_BITS value needed for large files... 64
   checking for _LARGEFILE_SOURCE value needed for large files... no
   checking for _LARGE_FILES value needed for large files... no
   checking for _XOPEN_SOURCE value needed for large files... no

   Is this a bug in fileutils?

No, it's a bug in autoconf.  We don't advertise that we support large
files on the Hurd.  If we did, we would set one of more of the
following macros to 1 in :

_LFS_LARGEFILE
_LFS64_LARGEFILE
_LFS64_ASYNCHRONOUS_IO
_LFS64_STDIO

I think autoconf should at least check for _LFS_LARGEFILE.

Mark




Re: oskit-mach trouble

2000-07-29 Thread Mark Kettenis

You'll probably need to provide alternatives for more (all) of the
functions in oskit-0.97.2505/dev/x86/synch.c in the oskit-mach
synch.c.

Mark




Re: _FILE_OFFSET_BITS 64 not supported (was: Re: WARNING fileutils 4.0x-1 severly broken

2000-07-28 Thread Mark Kettenis

[ Argh... It's [EMAIL PROTECTED] ]

   Date: Sat, 29 Jul 2000 00:27:09 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   The culprit is that fileutils now defines _FILE_OFFSET_BITS 64 on the Hurd,
   which sucks in functions like readdir64, lseek64 etc

   Can we easily implement those?

Not really.

   I have to use --disable-largefile on the Hurd, it seems.

That would do the trick for now.

   Funnily, the autoconf check doesn't bother to check if largefiles
   are really supported.

That's broken I think.

   checking for special C compiler options needed for large files... no
   checking for _FILE_OFFSET_BITS value needed for large files... 64
   checking for _LARGEFILE_SOURCE value needed for large files... no
   checking for _LARGE_FILES value needed for large files... no
   checking for _XOPEN_SOURCE value needed for large files... no

   Is this a bug in fileutils?

No, it's a bug in autoconf.  We don't advertise that we support large
files on the Hurd.  If we did, we would set one of more of the
following macros to 1 in :

_LFS_LARGEFILE
_LFS64_LARGEFILE
_LFS64_ASYNCHRONOUS_IO
_LFS64_STDIO

I think autoconf should at least check for _LFS_LARGEFILE.

Mark




Re: _FILE_OFFSET_BITS 64 not supported (was: Re: WARNING fileutils 4.0x-1 severly broken

2000-07-29 Thread Mark Kettenis

   Date: Sat, 29 Jul 2000 00:03:06 -0700 (PDT)
   From: Paul Eggert <[EMAIL PROTECTED]>

  From: Mark Kettenis <[EMAIL PROTECTED]>
  Date: Sat, 29 Jul 2000 01:22:03 +0200

 Date: Sat, 29 Jul 2000 00:27:09 +0200
 From: Marcus Brinkmann <[EMAIL PROTECTED]>

 The culprit is that fileutils now defines _FILE_OFFSET_BITS 64
 on the Hurd, which sucks in functions like readdir64, lseek64

   Sorry, this is the first I've heard of the problem.  What does "sucks
   in functions" mean?  Does the program try to link these functions,
   even though they don't exist?  If so, "configure" could catch that
   problem by trying to linking a program that sets _FILE_OFFSET_BITS to
   64 and invokes lseek; if the link doesn't work, then "configure" could
   avoid setting _FILE_OFFSET_BITS to 64.

The Hurd uses the GNU C Library, and basically the same header files
as on Linux (only the `bits' differ).  This means that setting
_FILE_OFFSET_BITS has basically the same effect on Linux, except that
some of the *64() calls are implemented as stubs returning ENOSYS.  To
assist autoconf,  defines:

#define __stub_fstatfs64
#define __stub_fstatvfs64
#define __stub_glob64
#define __stub_lstat64
#define __stub_posix_fadvise64
#define __stub_readdir64
#define __stub_readdir64_r
#define __stub_stat64
#define __stub_statfs64
#define __stub_statvfs64

and if you link against the functions you'll get a `foo64 is not
implemented and will always fail' message.

 Funnily, the autoconf check doesn't bother to check if largefiles
 are really supported.

   What do you mean by "really supported"?  I'd prefer checks that
   can be done at compile or link time, for cross-compilation.

I'd suggest testing for one of the *64() functions in the list above.
If you tell me which one, I'll make sure that'll be the last one
for which we add a "real" implementation.

  We don't advertise that we support large files on the Hurd.  If we
  did, we would set one of more of the following macros to 1 in
  :

  _LFS_LARGEFILE

   I don't know that those macros are reliable.  E.g. I suspect that some
   AIX and/or HP-UX hosts don't define them, even though they have large
   files.  (Unfortunately I don't have access to those hosts to test my
   theory.)  The LFS specs are not always followed, so I'd like autoconf
   to use a more direct test if possible.

That would mean a compile time check for one of the *64() functions listed
above (AC_CHECK_FUNC checks the __stub_* macros mentioned above) or a
link time check for the warning.

   Apparently the Hurd grow off_t from 32 to 64 bits when the programmer
   sets _FILE_OFFSET_BITS to 64.  Why does the Hurd do this if it doesn't
   support large files, at least to some extent?  In other words, to what
   extent does the Hurd support large files?

The Hurd doesn't really support large files at all.  The filesystems
cannot handle partitions larger than ~1 GB, and there is no support
for the 64-bit interfaces in the "kernel".

We have definitions for most of the types and structures, "just to make
the GNU C Library compile".

By the way, I believe there are older versions of the GNU C Library
thet even on Linux do not implement some of the *64() interfaces.

Mark




Re: oskit-mach trouble

2000-07-30 Thread Mark Kettenis

   Date: Sun, 30 Jul 2000 17:31:11 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   On Sat, Jul 29, 2000 at 07:05:27PM +0200, Mark Kettenis wrote:
   > You'll probably need to provide alternatives for more (all) of the
   > functions in oskit-0.97.2505/dev/x86/synch.c in the oskit-mach
   > synch.c.

   This would be osenv_intr_save_disable(), which is the only one not defined i
   oskit-mach?

Yep!  Try to cook up your own version of it.

   I don't understand how adding more overwrites can help, because the linker
   already complains about conflicting definitions, but then I don't understand
   the linker very well, so I will try to add a dummy function.

The linker only pulls in an object from an archive if it is needed to
satisfy undefined references.  Since aparently some other code
references osenv_intr_save_disable() and this function can only be
found in the archive, it pulls in the entire module which also defines
the functions in oskit-mach's synch.o, hence the conflicts.  However,
if you provide osenv_intr_save_disable() in oskit-mach's synch.o, the
linker won't pull in oskit's synch.o, and the conflicts disappear.

Mark




Re: error compiling glibc 2.2 (CVS), cross comp problem?

2000-07-31 Thread Mark Kettenis

   Date: Sun, 30 Jul 2000 23:46:09 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Hi,

   I tried to compile glibc 2.2 (CVS head from 2000-07-13), because there are
   first debian sources for them and I want to make sure everything will work
   when the time is ready.

I'm supposed to make sure it does :-).  I'm not sure whether the
2000-07-13 snapshot does compile though.

Just a warning: I recently made some changes to the Hurd's Makefiles
that reorder some libraries.  An older Hurd (i.e. one that doesn't
have those patches) won't work with glibc 2.2.

   I got the following error. Is this related to cross compilation? Will using
   glibc2.2 on linux help?

It's hard to say.  Compiling glibc from CVS usually works for me,
although there's a minor glitch from time to time.

The undefined references come from the dynamic linker (ld.so).  It
looks as if the build process is using the old ld.so instead of the
new one.

Mark




Re: error compiling glibc 2.2 (CVS), cross comp problem?

2000-07-31 Thread Mark Kettenis

   Date: Mon, 31 Jul 2000 13:52:19 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   I don't think you really keep track of the Debian build scripts, do
   you?  :) (Ben Collins takes over maintenance of glibc, and he asked
   me to take a look at his pre-packages).

No, I still live in the dark ages where you'd get the source as a tar
file and compile it yourself :-).

   > Just a warning: I recently made some changes to the Hurd's Makefiles
   > that reorder some libraries.  An older Hurd (i.e. one that doesn't
   > have those patches) won't work with glibc 2.2.

   You mean it won't run? So the Hurd needs to be recompiled and both
   have to be installed updated at the same time? (This probably needs
   to be reflected in the package dependencies).

A Hurd compiled from sources dating before 2000-07-26 won't run with
glibc 2.2.  Everything after that date should work with both glibc 2.1
or glibc 2.2.  They do not have to be upgraded at the same time.
People can upgrade their Hurd now (well, when there's a new Debian
package).

Compiling the Hurd with the glibc 2.2 headers doesn't quite work yet.
libshouldbeinlibc/wire.c depends on some dynamic linker internals that
have changed and are no longer exported.  One of the things that I'll
have to fixed before glibc 2.2 is released.

   >I got the following error. Is this related to cross compilation? Will 
   using
   >glibc2.2 on linux help?
   > 
   > It's hard to say.  Compiling glibc from CVS usually works for me,
   > although there's a minor glitch from time to time.
   > 
   > The undefined references come from the dynamic linker (ld.so).  It
   > looks as if the build process is using the old ld.so instead of the
   > new one.

   It can't use the new linker when cross compiling, right?

Well, it cannot actualy *execute* a program when cross compiling.  But
when building glibc the static linker should look at the new ld.so
instead of the old ld.so.  You know, ld.so is not only the program
interpreter, but it also is a shared library.

Anyway, either something went wrong with your build (nm and objdump
might be handy to find out what's wrong), or your cross compiler is
screwed somehow (passing -v to gcc can be of assistence here).

Mark




Re: Bug in glibc/hurd/hurdsig.c

2000-08-27 Thread Mark Kettenis

   Date: Sun, 27 Aug 00 21:46:05 +0100
   From: Peter Bruin <[EMAIL PROTECTED]>

Dag Peter,

   Hello,

   I think there is a bug in glibc, in hurd/hurdsig.c:_hurdsig_init. It
   happens when, in a cthreads program, _hurdsig_fault_init refers to
   _hurd_msgport_thread before it is set in the _hurd_msgport_receive
   thread. I would suggest something like:

Fixed that a couple of days ago :-).

   BTW, the PowerPC port of the Hurd now works until console-run tries to
   open the terminal. I am working on dynamic linking, which doesn't work
   well yet.

Great to see there's progress :-).  Don't hesitate to ask any
questions.  Make sure you provide parallel implementations for the
things in sysdeps/mach/hurd/i386.  dl-machine.h is particularly
relevant to the dynamic linker.

Mark




Re: huge number of ports & threads

2000-07-30 Thread Mark Kettenis

   From: Kalle Olavi Niemitalo <[EMAIL PROTECTED]>
   Date: 29 Jul 2000 20:31:24 +0300

   Marcus Brinkmann <[EMAIL PROTECTED]> writes:

   > compiling oskit really stresses the Hurd. It takes many hours
   > on my machine.  But when I checked after 8 hours, it seemed to
   > make slow progress, so I interrupted it and looked at the state
   > of the machine.

   When I compiled more stuff on the Hurd in Oct 1999, I used to get
   this behavior too.  The programs didn't even have to be big;
   perhaps that's because the machine only has 16 MB of RAM.  When I
   compiled libc, I had to interrupt and reboot the system several
   times to get it back to speed.

Me too :-(.

   > I found out that the ext2fs.static process on /mnt, where the compilation
   > happened, had 137 threads and 1062 ports. But the root filesystem had
   > 1817 threads and 7808 ports.

   In my case, ext2fs.static had 847 ports and PID 3 (the pager)
   had 6779.  Perhaps you too have many more ports in the pager?

I bet.  When memory is getting low, Mach starts paging out stuff.
Apparently it does so at a rate which causes every request to start a
new thread (i.e. the previous pageouts have not yet completed when a
new one arrives).  Some time ago Thomas made some changes to the
paging code in the kernel with the idea to avoid this scenario, but
apparently it doesn't help enough in your case.

Mark




Re: [Bug-hurd] Re: defining _POSIX_SYNCHRONOUS_IO although msync not available?

2000-09-30 Thread Mark Kettenis

   Date: Sun, 17 Sep 2000 23:35:44 -0400 (EDT)
   From: Roland McGrath <[EMAIL PROTECTED]>

   > So we probably have to give in. The apt author (Jason Gunthorpe) is not
   > happy about a special configure check for that on the Hurd (quote: "I really
   > hate adding more configure tests"), and the code is correct in any way.[1]

   I have no problem with that.  We should not claim to conform to things we
   don'te rally conform to.

FYI, I checked in the following change:

2000-09-18  Mark Kettenis  <[EMAIL PROTECTED]>

* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_SYNCHRONIZED_IO):
    #undef since we don't have msync.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: How to get _IOT_disk_parms ?

2000-10-08 Thread Mark Kettenis

   Date: 07 Oct 2000 16:52:30 +0200
   Content-Type: text/plain; charset=us-ascii

   Hello,

   I'm trying to compile the following code fragment:

   [...]

   Unfortunately, I get this compilation error:

   gcc -g -Wall -I/gnu/includegeom.c   -o geom
   geom.c: In function `store_get_disk_geometry':
   geom.c:19: `_IOT_disk_parms' undeclared (first use in this function)
   geom.c:19: (Each undeclared identifier is reported only once
   geom.c:19: for each function it appears in.)
   geom.c:19: warning: passing arg 3 of `device_get_status' from incompatible pointer 
type

   I've been trying for many many hours now to track down this
   _IOT_disk_parms guy, with no success. What should I include? I'm
   getting desperate.

Hmm, you're mixing Mach and Hurd ioctls here, and get bitten by the
fact that the encodining of the ioctls differs between the two.  The
Mach/i386 ioctl encoding is specified in .  The
Hurd ioctl enconding is specified in .  There are
simply no _IOT_xxx definitions for Mach ioctls.

I'm not sure if mixing the two should work.  But in this particular
case, you can

   #define _IOT_disk_parms 0x038e

and everything should work fine :-).

By the way, I don't thing V_GETPARMS is supported by oskit-mach.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: stopping of translators

2000-10-10 Thread Mark Kettenis

   From: Roland McGrath <[EMAIL PROTECTED]>
   Date: Tue, 10 Oct 2000 04:27:11 -0400 (EDT)

   > So the more precise question is: should translators quit when the last
   > reference to them is gone?

   It is up to the translator to decide when it is safe and desireable to shut
   down when there are no users.  The general plan is to do this after a
   timeout, but the implementations are not entirely consistent.  Look at the
   calls to ports_manage_* and the code around them--those functions take
   arguments for the timeout value and return when the timeout expires.  After
   that, the server code must ascertain if there are no user ports and if so
   it can to decide to exit.

I believe that in the current code, the actual timeouts are disabled,
i.e. all started threads are kept forever, and no translator will ever
terminate when linked with the current libports.  Enabling the
timeouts isn't too difficult, but when I did so somewhere in the past,
I encountered some bugs.  One of them an off-by-one problem that
terminated the last thread listening for requests.  Sorry, I don't
have the details right now.  Could look them up off course :-).

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: cross compilation problems

2000-10-27 Thread Mark Kettenis

   Date: Thu, 26 Oct 2000 21:07:55 -0700
   From: Steve Bowman <[EMAIL PROTECTED]>

   No bug report needed.  /usr/i386-gnu/lib is indeed a symlink to /gnu/lib
   and ldd under hurd shows:

   libc.so.0.2 => /lib/libc.so.0.2 (0x01022000)

   for all libraries.  ldd under linux just finds the wrong libc so that's
   the wrong way to check.

Indeed.  ldd is useless in cross-compiling situations, since it is
invoking the Linux ld.so on a Hurd binary.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: a problem with login and hostname

2000-11-13 Thread Mark Kettenis

   Date: Mon, 13 Nov 2000 20:04:22 +0100
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   This is a glibc bug. In libc/hurd/get-host.c, the returned buffer is not
   null terminated if there is no newline in the file. A patch is below, I
   didn't test it, but it's sort of obvious what is going wrong.

   Mark, can you commit this or a patch with a similar effect?

Thanks Marcus, I checked it in.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Problems cross-compling glibc

2000-12-07 Thread Mark Kettenis

   From: Farid Hajji <[EMAIL PROTECTED]>
   Date: Thu, 7 Dec 2000 13:03:39 +0100

   Hi,

   cross-compiling glibc (new cvs snapshot) breaks with the following
   error message (while making $(GLIBC_BUILDDIR)/elf/dl-sysdep.os):

I already fixed this :-).

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: all largefile checks broken

2001-01-04 Thread Mark Kettenis

   From: Marcus Brinkmann <[EMAIL PROTECTED]>
   Date: Thu, 4 Jan 2001 22:45:14 +0100

   On Thu, Jan 04, 2001 at 04:04:14PM -0500, Roland McGrath wrote:
   > > some largefile autoconf check included in shellutils, fileutils and probably
   > > elsewhere doesn't recognize the Hurd stubs returning EOPNOTSUPP correctly.
   > > For all those, a special case in the Debian packaging is needed to add
   > > --disable-largefile to configure invocation.
   > 
   > Please give details.  autoconf is only supposed to notice ENOSYS.

   Ok, I think I misunderstood that.

To clarify things: All autoconf does is check whether it can get a
64-bit off_t by defining an appropriate macro.  For the Hurd this
is the case for

   #define _FILE_OFFSET_BITS 64

and autoconf assumes everything else is kosher even though we do not
claim to support LFS (we don't define any of the _LFS* constants in
), and a lot of the *64 functions are only implemented as
stubs and cleary marked as such.

I raised the issue with the autoconf folks, suggesting they'd check
the proper _LFS* defines, but was told that most of the systems out
there were subtly broken such that this wouldn't work.

At that time Roland suggested that we'd simply add the necessary *64
functions to libc (emulating them with the 32-bit interfaces), but I
only did those that were necessary to support libio.  I'll have a go
at it now.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Cosmetic glibc 2.2.2 and hurd cvs patches.

2001-02-19 Thread Mark Kettenis

   From: "Arkadi E. Shishlov" <[EMAIL PROTECTED]>
   Date: Sun, 18 Feb 2001 02:27:47 +0200

 Hi.

 Just checked out and build latest hurd & glibc.
 Attached two patches I've created to make it possible.
 Hurd boots and works OK.

Thanks, I've applied the libc changes.  I'll leave the other bits to
someone else right now.

 It it worth to post such (small) patches in list or it should be
 handled in different way? (BTS, no post at all?)

Well, I don't know the official policy.  If you only post them to the
mailing list, they might get lost.  Entering them into the Debian BTS
should be enough to avoid that.  And now we also have savannah.gnu.org
(the GNU sourceforge site) where you can enter bug reports for the
Hurd.

Whatever you do, please let us know about these problems and patches,
no matter how small they are.

Thanks,

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Bug#88690: mtrace triggers SIGBUS at first malloc

2001-03-08 Thread Mark Kettenis

   From: Marcus Brinkmann <[EMAIL PROTECTED]>
   Date: Wed, 7 Mar 2001 19:39:51 +0100

   So I think this might have something to do with what _cthread_init_routine
   does, or with the special code in libc/sysdeps/mach/hurd/i386/init-first
   when this function is defined. I don't understand this code at all, and I
   have no idea how to debug it any further than that.

What!  You don't understand Roland's overly clever stack-munging code :-).

Seriously, what _cthread_init_routine does is allocating a new stack
for the initial thread.  Then the code in sysdeps/mach/hurd/i386/init-first.c 
copies some stuff (such as the program arguments and environment) from
the old stack to the new one, switches to the new stack, and then
frees the old stack.

However the dynamic linker keeps a pointer to the old program
arguments in _dl_argv.  Now when mtrace() calls _dl_addr() it looks at
_dl_argv[0], which points somewhere in the deallocated stack which
results in your SIGBUS.

Unfortunately, I'm not sure how to fix this yet.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: internal compiler error

2001-03-15 Thread Mark Kettenis

   From: Roland McGrath <[EMAIL PROTECTED]>
   Date: Sun, 11 Mar 2001 19:10:29 -0500 (EST)

   Congratulations, you have found a GCC bug.  Run the compilation by hand
   with -v -save-temps, and then take the -v output and the .i file and
   include them in your bug report to the GCC folks.  

Since 2.95.2 works fine, this clearly is a regression, and should
really be reported, such that the official 2.95.3 release doesn't have
this problem.  Marcus, can you report it to the GCC folks?  It's
probably a good idea to include 2.95.3 somewhere in the subject line
in order to attract the attention of the release manager.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: glibc broken

2001-05-23 Thread Mark Kettenis

   From: Marcus Brinkmann <[EMAIL PROTECTED]>
   Date: Wed, 23 May 2001 12:38:18 +0200

   On Tue, May 22, 2001 at 11:04:54PM -0400, Roland McGrath wrote:
   > It is important to be clear about what works and what doesn't:
   > 
   > * statically linked user programs
   > * statically linked user programs that use cthreads

   I don't see how a statically linked program can be affected by a glibc
   upgrade.  Note that I didn't recompile the Hurd with the new glibc.

It's likely to be a problem in the libc or ld.so initialization code,
in particar the argument/environment vector munging that we do at
various stages.  And those things are done differently if a program is
started directly by Mach or serverboot or via the exec server.

The dates Marcus mentions make the following change a bit suspect:

2001-03-24  Mark Kettenis  <[EMAIL PROTECTED]>

* sysdeps/mach/hurd/i386/init-first.c: Include .
(_dl_argv): Declare.
(init) [SHARED]: Readjust _dl_argv if we switched to a new stack.

I'm fairly sure things were working OK on my machine, but I can
remember problems similar to the ones Marcus is observing when working
on that patch.  Perhaps the assertion in
sysdeps/mach/hurd/i386/init-first.c:init() is failing?

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: glibc broken

2001-05-24 Thread Mark Kettenis

I can't reproduce Marcus' problems with a freshly checked out glibc.
Everything appears to work fine for me.

Oh, and invoking ld.so on a statically linked executable isn't
supposed to work I think.  Produces a segmentation fault on Linux and
Solaris, so I think the current Hurd hebaviour is quite acceptable.


___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: glibc broken

2001-05-27 Thread Mark Kettenis

   Date: Sun, 27 May 2001 18:36:52 +0200
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   On Thu, May 24, 2001 at 05:17:08PM +0200, Mark Kettenis wrote:
   > I can't reproduce Marcus' problems with a freshly checked out glibc.
   > Everything appears to work fine for me.

   Can you provide us a tar of the build directory?  I'd like to do a
   comparison.

Hmm, the entire build directory is to large, however I have put up a
gzipped libc_pic.a and a tar of the elf/ subdirectory:

   http://www.science.uva.nl/~kettenis/libc_pic.a.gz
   http://www.science.uva.nl/~kettenis/elf.tar.gz

libc_pic.a.gz is about 10 MB, elf.tar.gz about 2.5 MB.  Can you ping
me when you've downloaded them?

   Also, can you let us know which versions of binutils and gcc you use.

binutils 2.10.1, gcc 2.95.2.  These are Linux native versions that I
turned into a cross toolchain :-).

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Fix statfs

2001-06-09 Thread Mark Kettenis

The way the ext2fs and ufs file system calculate the number of
available blocks can yield a negative number.  Since fsblkcont_t is an
unsigned type this causes some interesting output from df, when your
filesystem is clogging up.

Roland, OK to check thus in?

Mark


Index: ext2fs/ChangeLog
from  Mark Kettenis  <[EMAIL PROTECTED]>

* inode.c (diskfs_set_statfs): If number of free blocks is less
than the number of reserved blocks, set the number of available
blocks to 0.

Index: ufs/ChangeLog
from  Mark Kettenis  <[EMAIL PROTECTED]>

* inode.c (diskfs_set_statfs): If number of free blocks is less
than the number of reserved blocks, set the number of available
blocks to 0.

Index: ext2fs/inode.c
===
RCS file: /home/cvs/hurd/ext2fs/inode.c,v
retrieving revision 1.54
diff -u -p -r1.54 inode.c
--- ext2fs/inode.c 2001/01/07 17:03:55 1.54
+++ ext2fs/inode.c 2001/06/09 11:28:05
@@ -1,6 +1,6 @@
 /* Inode management routines
 
-   Copyright (C) 1994,95,96,97,98,99,2000 Free Software Foundation, Inc.
+   Copyright (C) 1994,95,96,97,98,99,2000,01 Free Software Foundation, Inc.
 
Converted for ext2fs by Miles Bader <[EMAIL PROTECTED]>
 
@@ -618,6 +618,8 @@ diskfs_set_statfs (struct statfs *st)
   st->f_blocks = sblock->s_blocks_count;
   st->f_bfree = sblock->s_free_blocks_count;
   st->f_bavail = st->f_bfree - sblock->s_r_blocks_count;
+  if (st->f_bfree < sblock->s_r_blocks_count)
+st->f_bavail = 0;
   st->f_files = sblock->s_inodes_count;
   st->f_ffree = sblock->s_free_inodes_count;
   st->f_fsid = getpid ();

Index: ufs/inode.c
===
RCS file: /home/cvs/hurd/ufs/inode.c,v
retrieving revision 1.54
diff -u -p -r1.54 inode.c
--- ufs/inode.c 2001/01/08 22:33:11 1.54
+++ ufs/inode.c 2001/06/09 11:28:07
@@ -1,5 +1,5 @@
 /* Inode management routines
-   Copyright (C) 1994,95,96,97,98,2000 Free Software Foundation, Inc.
+   Copyright (C) 1994,95,96,97,98,2000,01 Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -519,6 +519,8 @@ diskfs_set_statfs (struct statfs *st)
 + sblock->fs_cstotal.cs_nffree);
   st->f_bavail = ((sblock->fs_dsize * (100 - sblock->fs_minfree) / 100)
  - (sblock->fs_dsize - st->f_bfree));
+  if (st->f_bfree < ((sblock->fs_dsize * (100 - sblock->fs_minfree) / 100)))
+st->f_bavail = 0;
   st->f_files = sblock->fs_ncg * sblock->fs_ipg - 2; /* not 0 or 1 */
   st->f_ffree = sblock->fs_cstotal.cs_nifree;
   st->f_fsid = getpid ();

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: packets stuck in queue (was: Re: pfinet & ftp & hang, round two (much simpler case)

2001-06-10 Thread Mark Kettenis

Hey Marcus, it works really great.  No real problems thus far.  Even
ftpfs seems to work reasonably well.

Thanks!

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Fix statfs

2001-06-29 Thread Mark Kettenis

   From: [EMAIL PROTECTED] (Thomas Bushnell, BSG)
   Date: 29 Jun 2001 10:55:51 -0700

   Mark Kettenis <[EMAIL PROTECTED]> writes:

   > The way the ext2fs and ufs file system calculate the number of
   > available blocks can yield a negative number.  Since fsblkcont_t is an
   > unsigned type this causes some interesting output from df, when your
   > filesystem is clogging up.

   Hrm. Before checking it in, it seems to me that if this situation
   actually arises, there is a bug.  I mean, we should never allow
   reserving more blocks than we really have free...

No there is no bug.  Those blocks are reserved for root, thus when
root starts using these, the number of available blocks (as in
available to other users) f_bavail should be reported as 0.  The
number of blocks that are really free is stored in f_bfree.

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: glibc/io/fts.c, MAXPATHLEN issue

2001-06-29 Thread Mark Kettenis

   Date: Fri, 29 Jun 2001 15:49:01 -0500
   From: Marcus Brinkmann <[EMAIL PROTECTED]>

   Hi,

   io/fts.c has a MAXPATHLEN issue.
   The Debian glibc build of 2.2.3-6 (CVS 6-9-2001) fails because
   of that.

I don't see any problems with the current CVS version.  Yes, it uses
MAXPATHLEN, but only as a reasonable default, and io/fts.c defines it
to 1024 if it isn't already defined.

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: error compilimg hurd cvs source

2001-07-01 Thread Mark Kettenis

   From: Moritz Schulte <[EMAIL PROTECTED]>
   Date: 02 Jul 2001 00:27:20 +0200

   > make[1]: Entering directory `/root/src/hurd/libdiskfs'
   > gcc -O -Wall -g -O3  -I.  -I..  -I../include -D_GNU_SOURCE-c -o file-syncfs.o 
file-syncfs.c
   > file-syncfs.c: In function `helper':
   > file-syncfs.c:61: internal error--unrecognizable insn:

   IIRC i got the same error. Decreasing the optimiziation from '-O3' to
   '-O2' helped (it seems to be a bug in gcc). You can do that in the
   file 'Makeconf' in the Hurd source tree.

It *is* a bug in GCC.  Please report it to the GCC folks.  See
http://gcc.gnu.org/bugs.html for more information on reporting bugs in
GCC.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Thread creation and stack allocation

2001-07-02 Thread Mark Kettenis

   From: Igor Khavkine <[EMAIL PROTECTED]>
   Date: Mon, 2 Jul 2001 01:37:59 -0400

   On Sun, Jul 01, 2001 at 08:27:17PM -0400, Igor Khavkine wrote:
   >
   > In this case, should the creation of the "red zone" be the programmer's
   > responsibility, or is there a way to create it with the library?
   > 
   > It is also possible that I'm misinterpreting the standard, if so, please
   > let me know.

   I've looked further in the standard and found the functions
   pthread_attr_{get,set}guardsize(). These control the size of the
   "red zone" or guard zone at the end of the stack. However the
   documentation is moot and does not specify whether the guard area
   is part of STACKSIZE set by the user with ptread_attr_{get,set}stacksize().

   Clarifications, are more then welcome.

The page for pthread_attr{get,set}guardsize() in the current POSIX
draft says:

   if the STACKADDR or STACK attribute has been set (that is, the
   caller is allocating and managing its own thread stacks), the
   GUARDSIZE attribute shall be ignored and no protection shall be
   provided by the implementation.  It is the responsibility of the
   application to manage stack overflow along with stack allocation
   and management in this case.

Changebars in the draft indicate that this is a recent addition.  See
http://www.opengroup.org/austin on how to get the current POSIX draft.

Mark

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Kernel Divide error trap

2001-09-26 Thread Mark Paulus

Could it be a compiler optimization issue, where the empty loop is 
simply optimized away, and therefore never executed??

(I have seen stranger things come out of optimized code)


On Wed, 26 Sep 2001 19:20:22 +0200, Marcus Brinkmann wrote:

>On Wed, Sep 26, 2001 at 05:15:32PM +0200, Piotr Krukowiecki wrote:
>> > > Anyway, first leftover is f3, second f3ff, so i'ts close to 
>> > 
>> > Just print the final calculation.
>> 
>> 
>
>Ok, so why has it that value?  It's strange enough.  The tenmicrosec will
>count down from MICROCOUNT (1000) to zero, and in this time, the counter
>should go down from 0x to something smaller than that.
>
>It can't overflow, because counting to 1000 is fast.  The comment above the
>function says "MICROCOUNT 1000  /* keep small to prevent overflow */" and
>that was when a 386 was a powerful machine.
>
>So, may it be that the loop in tenmicrosec was executed faster than the
>clock could go down?  But that would be trifle strange as we have run the
>Hurd on mach faster machines than an AMD K6 400MHz and not have this bug
>(and any faster machine should show the same bug).  I have personally run
>the Hurd on a Pentium III with 1GHz, and it worked just fine.
>
>On the other hand, that adding a printk hold it up enough to go down to
>0xfff3 (IIRC), so maybe it is indeed the case that the clock doesn't go down
>at all.  Does your processor do something special to an empty loop that
>prevents the clock from going down?  I am no processor expert.  Why have
>other people with a similar configuration not reported such a problem
>before?
>
>However I turn it, it remains a mystery to me, and frankly, I am not sure
>what to suggest to you how to get more info about it.
>
>> > > Now, should i left that printk or maybe better would be to add sth. like 
>> > > if (leftover == 0x) leftover -= 1;
>> > 
>> > The last printk should be ok.  BTW, oskit-mach does not use that code, so
>> 
>> But it doesn't change anything. I must add "if"
>
>Yeah, simply setting microdata to 1 might work around it, but I don't think
>it's the correct approach.  At least I don't understand why the code doesn't
>work on your machine but on other, even faster machines.
>
>> > the problem will go away in the future.  However, we might be able to just
>> 
>> Future does not satisfy me ;)
>
>A hack to just make it work on your machine doesn't satisfy me ;)
>
>> Well, why not. I have another bug, i'll post info but i must check
>> mail archive
>
>You scare me ;)
>
>Thanks,
>Marcus
>
>-- 
>`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
>Marcus Brinkmann  GNUhttp://www.gnu.org[EMAIL PROTECTED]
>[EMAIL PROTECTED]
>http://www.marcus-brinkmann.de
>
>___
>Bug-hurd mailing list
>[EMAIL PROTECTED]
>http://mail.gnu.org/mailman/listinfo/bug-hurd




___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: ps just hangs

2001-10-25 Thread Mark Kettenis

   From: Roland McGrath <[EMAIL PROTECTED]>
   Date: Thu, 25 Oct 2001 02:31:19 -0400 (EDT)

   > (gdb) attach 743
   > Attaching to program `/usr/bin/tail', pid 743
   > ^C^C 

   Hmm.  That might be gdb trying to talk to the signal thread.

Definitely.

   But there is no excuse for C-c not working in gdb.
   Someone should debug gdb.

Hmm. C-c is supposed to interrupt the program, which obviously fails
because the signal thread isn't responding.  Should it interrupt GDB
instead in such a case?

   There might be some hurdish gdb options you should set before attaching.
   "set signals" or something. 

"set noninvasive on" should do the trick.


___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: Building OSKit-Mach (texinfo format) - dead link w/patch

2001-10-09 Thread Mark Paulus

The link for the remote debugging boot option (oskit-boot.txt)
under Booting OSKit-Mach is broken.  I would propose the following
patch to correct this link to a live location:


--- oskit-mach.texi.origTue Oct  9 11:15:14 2001
+++ oskit-mach.texi Tue Oct  9 11:16:08 2001
@@ -344,7 +344,7 @@ Assuming all of this worked successfully
 start debugging oskit-mach.  If you have a second machine with a couple
 of serial cables, the preferred method is remote debugging using GDB.
 That is outside the scope of this document, though; see
-@url{http://www.multiverse.ca/hurd/oskit-boot.txt}
+@url{http://debian.fmi.uni-sofia.bg/~ogi/hurd/hurd.gnu.org/oskit-boot.txt}
 for a treatment of that topic.




to On Tue, 25 Sep 2001 17:47:59 -0500, Kevin Kreamer wrote:

>Robert, thank you for your help.  Jeff, here's that doc I was
>telling you about.
>
>On Sat, Sep 22, 2001 at 01:14:35PM +, Robert J. Chassell said:
>> The document formats without reported error, except for one overfull
>> and one underfull hbox in the TeX dvi output.
>
>Ok, I've changed the overfull paragraph around a bit, and now it's 
>a underfull paragraph, which is better I suppose.  Both of those 
>are caused by longish URL's in the paragraphs, I'm not sure what else can 
>be done.
>
>> It is convenient to include the following summary of shell commands at
>> the beginning of your Texinfo document.  This set of commands makes it
>> easy for reviewers and users to create the different outputs.  You can
>> run them in shell in Emacs, or copy them to an Xterm in X Windows.
>
>I've added these to the newest revision.
>
>> Also, I find that @smallbook produces the best size printed output,
>> even on US letter sized paper or on A4 paper.  My eyes have an easier
>> time tracking `conventional book' length of lines in @smallbook and my
>> red editor's pen prefers the wider margins.  (If your examples are
>> wide, @smallbook requires that you replace @example with
>> @smallexample.)
>
>I realised that I hadn't actaully run it through TeX, because my main 
>focus was the .info file.  Consequently, there was a few goofs that 
>only showed up the TeX formats (like the table of contents being in 
>the wrong place).  I think it's best, then, to get this updated copy 
>out to everyone instead of worrying about @smallbook.  I may 
>move it there in the future, and I'll keep this point in mind whenever 
>I write more docs, so thank you for pointing it out.
>
>Kevin
>-- 
>Kevin Kreamer
>FsckIt on openprojects.net
>




___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: PowerPC port

2001-10-12 Thread Mark Kettenis

   From: Derek Fults <[EMAIL PROTECTED]>
   Date: Fri, 12 Oct 2001 13:09:17 -0500

   I am also working on trying to port Hurd to OSF mach.  I need to
   get a hold of a mig that generates the correct code for OSF mach,
   (without typchecking). Peter Bruin said he could get me one in a
   couple days but I was interested if knew where I could get one
   earlier?

I removed the link to my OSF MiG package from my homepage a while ago,
but you can still find it at:

   http://www.science.uva.nl/~kettenis/osfmk

Enjoy,

Mark


___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: [PATCH] Mach's interface for modifying the LDT

2001-12-23 Thread Mark Kettenis

Please be aware that the Mach LDT code still contains serious bugs.
Setting the segment registers to something else than thier defaults is
very likely to crash the kernel.  I've tried to hunt down the bug, but
didn't succeed.

Mark  

___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd



Re: gdbserver for GNU/Hurd

2006-12-23 Thread Mark Kettenis
> Date: Sat, 23 Dec 2006 12:10:22 +0100
> From: Thomas Schwinge <[EMAIL PROTECTED]>
> 
> Hello!
> 
> Has anyone ever worked on porting the GDB distribution's gdbserver to
> GNU/Hurd?

I'm pretty sure the answer to that question is no.

> In case you don't know: this would allow for debugging programs on
> GNU/Hurd systems using a cross debugger running on another system (e.g. a
> non GNU/Hurd one).  This is of advantage if you're cross compiling and
> then don't have to copy the source files to the target system for using
> gdb locally on there.

But it'd be difficult to have access to all the advanced features a
native GNU/Hurd GDB offers.

Mark


___
Bug-hurd mailing list
Bug-hurd@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-hurd


June offer from www.aberbid.com

2003-06-20 Thread Mark Norman
Offer valid untill 12 July, FREE everyone 490$,
who had quest four matching digits, for old and new customers.
This action from our company.
We could send you checks, e-gold, wire transfer.
More info here:
http://www.aberbid.com/



___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd


Big apples

2004-10-11 Thread MARK TWAIN
Title: jyh petalid









Внимание!
С 8 по 25 октября проводится акция «Оплачиваете за
два уровня единовременно – третий изучаете
бесплатно!»

N Y L C

Вот несколько причин, по
которым Вы будете рады выбрать NYLC:

1.Обуч.аю.щие прог.раммы
–ES..L(En.g.lish as a sec.ond lang.uage)
2.Ми.ни гру.ппы, индиви.дуальные, корпор.ативные
3.Фик.сиров.анная низкая стои.мость
4.Учи.теля из U.SA ,Анг.лии и Кан.ады
5.Провед.ение зан.ятий в удо.бных мест.ах расп.оложения
6.Каж.дый день нов.ые групп..ы!

Удобное
расписаниена выбор: предоставляются
занятия в утреннее, дневное, вечернее время, а
также группы выходного дня.
Методы преподавания, которые доказывают, что
Вы выучитесь быстро: наша программа делает
акцент на рассмотрение ситуаций из реальной
жизни. Вы начнете говорить по-английски с первого
же дня обучения!
Богатый опыт, великолепная репутация: Большинство
наших учеников получают информацию о NYLC от
бывших студентов, которые остались довольны
нашей школой.Telephone

095 951-81-41
 Satisf.action guar.anteed! 
It’s time to learn English you can do that
easily and effectively at the NYLC in Moscow ,we are located in different locations in
Moscow to provide convenience for our students, the NYLC has a professional staff of
American teachers to help our students reach proficiency, the NYLC has been teaching
English for many years all over the world.
The NYLC is the key to future success so come and learn English today 



Употребляя спиртные напитки, твердо знайте свою норму. В противном случае вы рискуете выпить меньше.







___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-hurd


Revisited: Hurd on a cluster computer

2017-05-20 Thread Mark Morgan Lloyd
Please excuse my raising my head above the parapet, most of the time I'm 
a lurker but I prefer the idea of a robustly-partitioned system and I 
think the industry-wide events of the last week or so reinforce that.


>> [Brent said] The payoff is a supercomputer operating system that
>> presents an entire cluster as a single POSIX system with hundreds
>> of processors, terabytes of RAM, and petabytes of disk space.

> [Richard replied] Most attempts in the past have failed. It seems
> better to build specialiazed cluster computers on top of local
> operating systems. Look for "single system image" on a search engine
> for projects with this goal.

Looking at this from an historical POV, I think there's another approach 
which is process migration without an SSI. Specifically, I'd highlight 
MOSIX and derivatives.


Unlike e.g. Amoeba which I believe worked by locating a system with 
spare capacity and using that for a newly-started process, MOSIX worked 
by starting a new process on the local computer, then migrating it to 
another system retaining local stubs for communication with the kernel. 
A process could be moved multiple times to track spare capacity, but it 
continued to talk to its original kernel via the stubs.


I had it running something like 15 years ago, and found that it was 
robust enough that if a collaborating system were booted during e.g. a 
kernel compilation then work would immediately migrate onto it, with no 
user involvement at all. It was, obviously, sensitive to systems dying 
without due warning: there was no checkpointing or program restart but 
even as it stood it was one of the more impressive things I've seen in 
the industry.


I believe it was originally research with anticipated commercial 
spinoff. It was open sourced as OpenMOSIX, and later renamed to LinuxPMI 
(Process Migration Infrastructure). I put enough time into it a couple 
of years ago to determine which versions of Linux kernel and compiler it 
was compatible with (roughly speaking, Debian "Lenny") and I don't think 
anybody has done much more: more than anything else Linux is too much of 
a moving target for something which has fallen behind to ever catch up, 
and its monolithic architecture probably doesn't help.


Apart from that, known problems were that it relied on kernel extensions 
written in assembler, it had no negotiation to ensure that collaborating 
systems were binary-compatible, it had no authentication or capabilities 
tracking, and it's probably not friendly to applications which use 
shared memory for their IPC.


Finally, what is the Hurd portability situation? Way back I worked on a 
microkernel in '386 protected mode that used segmentation heavily, am I 
correct in assuming that that sort of thing is completely deprecated in 
the interest of portability?


When I were a lad we used logic analysers to debug our code...

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



Re: Revisited: Hurd on a cluster computer

2017-05-21 Thread Mark Morgan Lloyd

On 21/05/17 13:45, Justus Winter wrote:

Samuel Thibault  writes:



Though there was some work, a reimplementation if memory serves, of the
netmsg servers.  The archive should have some infos on that.


Yes, by Brent who was the instigator of the original thread that I was 
belatedly commenting to :-)



Well, that's unrelated to the question above, which was actually
unrelated to the original thread, which you are answering now :)


Ah, segmentation... Indeed, I wasn't reading that carefully, I thought
is was related to the in-kernel forwarding of Mach messages across
networks...


Which is of course an interesting question in itself, and one which 
entirely by chance a hardware engineer of my acquaintance has been 
casually pondering.


Incidentally, I've also just remembered 
http://www.scalemp.com/products/product-comparison/ which is another 
interesting attempt to build a cluster on top of Linux.


Finally, I'm not entirely sure where IBM mainframe operating systems 
stand on the "SSI or not SSI" question: they have, of course, been doing 
this sort of thing for decades. My understanding is that a single 
computer (i.e. one "frame") is basically SMP with SSI, but that a 
sysplex has multiple OS instances with jobs moved around as required. 
It's perhaps interesting that Moshe Bar, who was originally responsible 
for MOSIX, is occasionally seen hanging out in IBM mainframe mailing lists.


CC not necessary, I'm subscribed.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



Trying to get a basic installation working

2017-06-27 Thread Mark Morgan Lloyd
I spent a while yesterday trying to get an installation going on a 
fairly standard Intel P4 system, but was consistently getting a kernel 
panic shortly after selecting a mirror or, if I skipped that, shortly 
after Tasksel was run.


The CD image I was using was

$ cksum *iso
4089521537 678834176 cd-1.iso

$ sha1sum *iso
9239135037b664a08d355e2f7ece69bfa7576f07  cd-1.iso

If it would help I could possibly transcribe the panic from a 
photograph, but since the CD appeared to be reading at 1x this is 
frustratingly time-consuming.


Is there a more recent version of that I should be using, or should I be 
reverting to the somewhat older image described at 
https://www.gnu.org/software/hurd/index.html ?


CC not necessary, I'm subscribed.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



Re: Trying to get a basic installation working

2017-06-27 Thread Mark Morgan Lloyd

On 27/06/17 14:23, Samuel Thibault wrote:

Mark Morgan Lloyd, on mar. 27 juin 2017 08:06:59 +, wrote:

The CD image I was using was

$ cksum *iso
4089521537 678834176 cd-1.iso

$ sha1sum *iso
9239135037b664a08d355e2f7ece69bfa7576f07  cd-1.iso


This looks like the snapshot from january. There's the 2017 release from may on
http://www.debian.org/ports/hurd/hurd-cd


Thanks, for the last few hours I've been running the netinst from 
~sthibault/hurd-i386/installer/cdimage/weekly-1/ which is chugging along 
in semi-graphical mode (text-mode bombed with something about "unable to 
create /run/screen").


Installation completed after about 10 hours, during most of which time 
the CD LED was flickering at about 20 Hz. It barfed at something coming 
from the mirror and there's no working network, boot message about  ifup 
/dev/eth0  failing.


Since the base network files etc. are there, as an experiment I told it 
to install openssh-server, this fetched the packages from CD at the 
expected speed. I have absolutely no reason to think that the 
off-the-shelf PC I was using has significant problems, and I'm fairly 
confident in the boot media and drives.


I'm afraid that there might be something broken in the installation 
kernel etc., and even though I'm interested I'm going to find it very 
hard indeed to justify more time on this :-(


CC not necessary, I'm (still) subscribed.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




Re: Trying to get a basic installation working

2017-06-28 Thread Mark Morgan Lloyd

Initially bounced at GNU servers, re-sent.

On 27/06/17 14:23, Samuel Thibault wrote:
> Mark Morgan Lloyd, on mar. 27 juin 2017 08:06:59 +, wrote:
>> The CD image I was using was
>>
>> $ cksum *iso
>> 4089521537 678834176 cd-1.iso
>>
>> $ sha1sum *iso
>> 9239135037b664a08d355e2f7ece69bfa7576f07  cd-1.iso
>
> This looks like the snapshot from january. There's the 2017 release 
from may on

> http://www.debian.org/ports/hurd/hurd-cd

Thanks, for the last few hours I've been running the netinst from 
~sthibault/hurd-i386/installer/cdimage/weekly-1/ which is chugging along 
in semi-graphical mode (text-mode bombed with something about "unable to 
create /run/screen").


Installation completed after about 10 hours, during most of which time 
the CD LED was flickering at about 20 Hz. It barfed at something coming 
from the mirror and there's no working network, boot message about  ifup 
/dev/eth0  failing.


Since the base network files etc. are there, as an experiment I told it 
to install openssh-server, this fetched the packages from CD at the 
expected speed. I have absolutely no reason to think that the 
off-the-shelf PC I was using has significant problems, and I'm fairly 
confident in the boot media and drives.


I'm afraid that there might be something broken in the installation 
kernel etc., and even though I'm interested I'm going to find it very 
hard indeed to justify much more time on this :-(


CC not necessary, I'm (still) subscribed.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



Re: Trying to get a basic installation working

2017-06-30 Thread Mark Morgan Lloyd

On 28/06/17 08:38, Mark Morgan Lloyd wrote:


This looks like the snapshot from january. There's the 2017 release

from may on

http://www.debian.org/ports/hurd/hurd-cd


Page fault trap, either shortly after selecting the mirror or shortly 
after tasksel (with nothing non-standard selected).


CC not necessary, I'm (still) subscribed.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



Re: [GSoC 2017] Number fo sockets

2017-08-24 Thread Mark H Weaver
Hi,

Joan Lledó  writes:

> As I mentioned in my previous post about ioctl operations[1], LwIP
> establishes a maximum limit of sockets, which is a big problem for a
> system like the Hurd. Now I've finished all tasks in my initial
> proposal, I thought it was a good idea to spend some time studying
> this issue and trying to find a solution.
>
> The problem is this: in LwIP, sockets are stored in a fixed-size
> array, which is the best solution for embedded systems as it is a
> natural way of indexing items without need of additional variables and
> allows the user to directly access any socket from its index taking
> the same time. If we remove the limited amount of sockets, then we
> cannot keep using an array, and another solution is required to handle
> all this.
>
> In the LwIP translator, I've chosen to replace the array for a linked
> list, and that has some implications: the need to iterate the list any
> time we need to create, destroy or look for a particular socket,

I would be good to avoid having socket lookup require time proportional
to the number of sockets.  The number of sockets may grow quite large in
some applications.

Instead of a linked list, how about using a dynamic array?

  https://en.wikipedia.org/wiki/Dynamic_array

This would give you constant-time lookups, amortized constant time
insertions and deletions, and better data locality and cache behavior.

What do you think?

  Mark



GNU Mach & Hurd overview

2004-05-02 Thread Mark J. Rosenbaum
I was interested in the current state of affairs for the 
GNU microkernel. project so I went to hurd home page. I find 
the microkernel. concept very interesting for parallel computers made up 
of Systems On a Chip (SOCs), an area of interest to me for twenty years. 
I would agree with your assessment of reference manual as being sub 
optimal as a tutorial. Since it's probably not intended as such I wasn't 
sure how to make suggestions so I'll start with an email and we can go 
from there.

A faq would be a nice way to find out what people don't understand and 
would like to know. This format is easy to follow and often become self 
organizing after a short while.

A basic tutorial on OSes would be nice. A single graphic of the 
different lays from machine hardware to microkernel to services to user 
apps would do. It could also be compared with integrated kernels, 
machine hardware to kernel to apps. A brief discussion of the pros and 
cons and why the world has not seen the light yet would also be helpful.

It's been my experience, both as a developer and a development manager, 
that getting developers to document is painful but getting them to 
answer specific questions is less so. Clearly you don't want them to 
spend their time writing doc instead of writing code but a little doc is 
a wonderful thing.

Thanks

Mark



___
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd