Linux-Development-Sys Digest #819, Volume #7 Wed, 3 May 00 10:13:19 EDT
Contents:
Re: compiling with libc5 under a glibc2 system ("Eric GAUDET")
Modem Drivers ("Matthew Frey")
Re: Have new parallel port - but it's PCI!! ("Mark Graybill")
Re: A need for better insallation programs (Mike Dowling)
Sequence for PPP ??? ("Samuel Wang")
Re: Is It Possible To Decompile Kernel Modules? (Graham Stoney)
getcwd() newbie question (Nicola Attico)
Re: CPU Load <- off by 1.00 (Anders Larsen)
Re: getcwd() newbie question (Josef Moellers)
Re: ?Linux RS/6000 ? (Stefan Taferner)
Code transfert from machine to another (Nicolas Boulay)
Re: get_user and bottom half help (Alan Donovan)
Re: CPU Load <- off by 1.00 (Josef Moellers)
Re: 2.3.99-pre6: can't compile bootsect.S ("Giampaolo Tomassoni")
Re: 2.3.99-pre6: can't compile bootsect.S (Robert Schiele)
erratic behavior of do_gettimeofday() at high interrupt rates (Luc Borms)
Re: Code transfert from machine to another (Maciej Golebiewski)
----------------------------------------------------------------------------
From: "Eric GAUDET" <[EMAIL PROTECTED]>
Subject: Re: compiling with libc5 under a glibc2 system
Date: Wed, 03 May 2000 12:16:28 +0900
"H.J. Lu" <[EMAIL PROTECTED]> wrote:
>
> Ox wrote:
>>
>> Wolfgang's Kiste wrote:
>> >
>> > Hi,
>> >
>> > I need programms to compile with libc5 on a glibc2 system (SuSe 6.3).
>> > I looked already in the glib2-howto, but this covers only the case
>> > when you update your system from libc5 to glibc2. Any ideas how it
>> > could work?
>> >
>> > Thanks
>> >
>> > Wolfgang
>>
>> Hi Wolfgang
>>
>> I have the same problem. System based on libc6 and I have to compile
>> prgm for a SmallLinux distro which supports only the libc5. The How-to
>> was not a real help for me !!! We must downgrade the glibc2 to the
>> libc5 !! If you find something make me a sign please. If I find I will
>> say you :-)
>>
>
> ftp://ftp.valinux.com/pub/support/hjl/gcc/gcc-2.95.x
>
> Install
>
> gcc-libc5-2.95.3-0.20000413.1.i386.rpm
> gcc-libc5-c++-2.95.3-0.20000413.1.i386.rpm
> gcc-libc5-g77-2.95.3-0.20000413.1.i386.rpm
> gcc-libc5-objc-2.95.3-0.20000413.1.i386.rpm
>
> on Red Hat 6.2. You should be set.
>
>
> H.J.
Thank you for this non-information ! Have you even read the question ?
(and why the heck would one install g77 and objc for C programming ?)
------------------------------
From: "Matthew Frey" <[EMAIL PROTECTED]>
Subject: Modem Drivers
Date: Tue, 2 May 2000 22:24:11 -0500
I am looking for the drivers to a Rockwell HCF 56k Data Fax PCI Modem, PCI
ID:1003 .
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.hardware
Subject: Re: Have new parallel port - but it's PCI!!
Date: Wed, 03 May 2000 04:43:51 GMT
Chris Rankin wrote in message <8egr8v$689$[EMAIL PROTECTED]>...
>/proc/parport/1/hardware:
>base: 0x278
>irq: 9
Did you try a different IRQ? (e.g. 5)
------------------------------
From: [EMAIL PROTECTED] (Mike Dowling)
Subject: Re: A need for better insallation programs
Date: 3 May 2000 06:06:03 GMT
On Tue, 02 May 2000 15:23:58 +0200, Bernd Strieder <[EMAIL PROTECTED]> wrote:
>> The conclusion from above must be that Linux badly needs installation
>> programs, like Micro$oft's installation and setup programs, who would
>> make it easy -- even for the most stupid science journalists -- to
>> smoothly set up a Linux system they can run and then smoothly load
>> applications to the system. I myself cannot possibly find time to
>> learn enough about programming to write these programs. Are there some
>> out there who would like to write these badly needed installation pro-
>> grams? I am
>
>It would be a completely wrong to say that installing software is easy
>under any OS.
$ ./configure --prefix=/usr --disable-nls
$ make
$ make install
What could be easier? And it's independent of the OS (unless you use
an exotic like Windows).
I don't see any need for anything else.
Cheers
Mike
--
My email address [EMAIL PROTECTED] above is a valid email address.
It is, in fact, a sendmail alias; the digit 'N' is incremented regularly.
Spammed aliases will be deleted. Currently, mike[25,26]
are valid. If email to mikeN bounces, try mikeN+1.
------------------------------
From: "Samuel Wang" <[EMAIL PROTECTED]>
Subject: Sequence for PPP ???
Date: Wed, 3 May 2000 00:06:03 -0700
Does Linux implementation of PPP support Sequencing ?
In which kernel module ?
There does not seem to be ioctl parameters for timeouts, sequencing/non
sequencing configuration, etc.
Thanks in advance.
Samuel
------------------------------
From: Graham Stoney <[EMAIL PROTECTED]>
Subject: Re: Is It Possible To Decompile Kernel Modules?
Date: 3 May 2000 07:32:44 GMT
In article <[EMAIL PROTECTED]>,
Kaz Kylheku <[EMAIL PROTECTED]> wrote:
>There is no such thing as decompilation. That would be like turning hamburger
>back into cow. (Just try starting this topic in some comp.lang.* newsgroup,
>and watch the flames engulf you).
Sorry, but this is wrong. The question isn't "is it possible?" but rather
"is the result useful, given the current state of the art?". See:
http://archive.csee.uq.edu.au/~csmweb/decompilation/
Regards,
Graham
------------------------------
From: Nicola Attico <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: getcwd() newbie question
Date: Wed, 3 May 2000 10:58:18 +0200
Hello Linux developers!
I'm trying to understand system calls and I've
this problem (maybe stupid).
I'm running Red Hat Linux 6.1 and I would like
to understand how the getcwd() call (only one among the
others!) to obtain the
current working directory of a process works.
I've installed the version 2 of glibc as showed by
rpm:
[nicola@c1p8 nicola]$ rpm -q glibc
glibc-2.1.2-11
In the GNU libc reference manual (available at
http://www.gnu.org, p. 181) the following prototype
of getcwd() is declared:
char *getcwd(char *buffer,size_t size)
where buffer is the string where you want to store the
current working directory and size is the number of
bytes you want to use for that (size_t is just the same
that unsigned int).
Now I wrote the following stupid (but maybe wrong) C code
to implement it:
#include <unistd.h>
int main()
{
char buffer[10];
getcwd(buffer, 10);
printf("%s\n",buffer);
}
I compile with gcc:
{
Incidentally I've the following version:=20
[nicola@c1p8 nicola]$ rpm -q egcs =20
egcs-1.1.2-24
}
using:=20
[nicola@c1p8 nicola]$ gcc getcwd.c=20
and all seems work fine, but when I run:
[nicola@c1p8 nicola]$ ./a.out
x=FC=FF=BF=EB@
=2E..I obtain only garbage!
So, why that? I've not great experience in C programming,
so maybe I'm doing some very trivial error!
Any suggestion will be greatly appreciated,
Thanks,
# Nicola
------------------------------
From: Anders Larsen <[EMAIL PROTECTED]>
Subject: Re: CPU Load <- off by 1.00
Date: Wed, 03 May 2000 10:51:09 +0200
Hans-Joachim Baader wrote:
>
> In article <8emqk2$t3o$[EMAIL PROTECTED]>, Rao VA <[EMAIL PROTECTED]> wrote:
> >I've been investigating processes for anamolies, the only suspect is an xntpd
> >that's constantly in the Run state, however doesn't seem to consume CPU
> >cycles. I can't kill this process and even though the process is in the Run
> >state, a 'strace' on the process doesn't show anything.
>
> This is of course the culprit. However, if you can't kill it, I don't know
> of a way to get rid of it except rebooting. On the other hand, it would
> be useful to find out how it happened.
# kill -KILL <process id>
really should be able to kill it (as SIGKILL cannot be caught).
However, if the process in question cannot run because a process at a higher
priority consumes 100% of the CPU resources, it will seemingly stay alive
(it *must* be scheduled once in order for the signal processing to kill it).
That your xntpd stays in the run state without consuming CPU cycles is such
a sign that *another* process is eating the CPU time.
--
cheers
Anders Larsen
e-mail: alarsen AT baumerident DOT com
Q: What does the CE in Windows CE stand for?
A: Caveat Emptor
------------------------------
From: Josef Moellers <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: getcwd() newbie question
Date: Wed, 03 May 2000 11:23:40 +0200
Nicola Attico wrote:
> =
> Hello Linux developers!
> =
> I'm trying to understand system calls and I've
> this problem (maybe stupid).
> I'm running Red Hat Linux 6.1 and I would like
> to understand how the getcwd() call (only one among the
> others!) to obtain the
> current working directory of a process works.
> I've installed the version 2 of glibc as showed by
> rpm:
[ ... ]
> #include <unistd.h>
> int main()
> {
> char buffer[10];
> getcwd(buffer, 10);
> printf("%s\n",buffer);
> }
> =
[ ... ]
> and all seems work fine, but when I run:
> =
> [nicola@c1p8 nicola]$ ./a.out
> x=FC=FF=BF=EB@
> =
> ...I obtain only garbage!
> So, why that? I've not great experience in C programming,
> so maybe I'm doing some very trivial error!
> =
> Any suggestion will be greatly appreciated,
=46rom the man-page of getcwd:
If the current absolute path name would require a buffer
longer than size elements, NULL is returned, and errno is
set to ERANGE; an application should check for this error,
and allocate a larger buffer if necessary.
Apparently, your current working directory's path name is longer than 10
bytes.
You might want to include sys/param.h and use MAXPATHLEN as the size of
the buffer.
=
-- =
Josef M=F6llers
Fujitsu Siemens Computers
SHV Server DS 1
------------------------------
Subject: Re: ?Linux RS/6000 ?
From: Stefan Taferner <[EMAIL PROTECTED]>
Date: 03 May 2000 11:35:38 +0200
[EMAIL PROTECTED] (Edcoy) writes:
> If Linux supports the PowerPC.
> And Linux supports Microchannel.
> Why doesn't support a Microchannel PowerPC (RS/6000)?
> Would it be a simple task to produce a capable kernel?
You are sure speaking of Microchannel PowerPC and not
of Microchannel RS/6000 ?
The older RS/6000 machines had pre-PowerPC chips that
are not compatible to current ones, IRC.
-- Stefan
------------------------------
From: Nicolas Boulay <[EMAIL PROTECTED]>
Subject: Code transfert from machine to another
Date: Wed, 03 May 2000 11:47:05 +0200
Hi,
Is it possible to run code by a machine throught a network from an other
machine without using the file system ? More precisely, is it possible
to make a programme that can execute some of this function by differents
machines ? Those machines will not have any dedicated server for this
program.
nicO
------------------------------
From: Alan Donovan <[EMAIL PROTECTED]>
Subject: Re: get_user and bottom half help
Date: Wed, 03 May 2000 11:07:40 +0100
Eric wrote:
> What about smp. Can I force my target process to always use a particular
> processor, and run a hi-prior-real-time process that wakes up 50 times a
> sec to force a resched of my target process at least that often?
You can't possibly have a process that wakes up 50 times a second. The
time quantum on linux x86 is 10ms, therefore only 100 processes get
schedules per second. If you need to execute code this frequently it
will have to be from the timer interrupt handler (or a BH marked by it).
I would be extremely surprised if this did not completely kill system
performance, although I guess if you're profiling, you expect that
anyway.
> 2. What about access violations from kernel mode.
>
> On prior systems, I've been able to use some sort of probe-like
> operation that would allow me to test access to user memory BEFORE i try to read the
> location so i would not get an acc vio in kernel mode. Does linux have such a thing?
> Is an acc vio in kernel mode a crash? If not, what happens.
There exists a legacy function verify_area() which does this, and it
must run in process context (it uses current->addr_limit.seg). However
get_user replaces this because the kernel now uses exception handling; I
believe what it does is to unwind the stack and return from the
top-level driver method with -EFAULT should a bad page-fault be
generated. [If this is so, I don't know how drivers are supposed to
clean up]. Probably not what you want, but the rationale behind it is
that EFAULT only occurs during program development (hopefully) so this
scheme does not penalise programs that work.
> I've looked at the kernel module programming docs, and there is an
> example of a sys call hack that will spy on a process and watch the files it opens.
> It then uses printk to trace the name of the file. But what if the traced system
> call passes in a bad file name pointer. Will the system crash?
Have a look at strace and its source; this may be helpful.
> What about printk, what happens if it does try to use a bad pointer?
You will get an Oops, which will kill the process (if any) or panic the
kernel (if not).
Sorry to not be more helpful, but I'm not the expert.
alan
--
========================================================================
Alan Donovan [EMAIL PROTECTED] http://www.imerge.co.uk
Imerge Ltd. +44 1223 875265
------------------------------
From: Josef Moellers <[EMAIL PROTECTED]>
Subject: Re: CPU Load <- off by 1.00
Date: Wed, 03 May 2000 12:13:49 +0200
Anders Larsen wrote:
> =
> Hans-Joachim Baader wrote:
> >
> > In article <8emqk2$t3o$[EMAIL PROTECTED]>, Rao VA <[EMAIL PROTECTED]>=
wrote:
> > >I've been investigating processes for anamolies, the only suspect is=
an xntpd
> > >that's constantly in the Run state, however doesn't seem to consume =
CPU
> > >cycles. I can't kill this process and even though the process is in =
the Run
> > >state, a 'strace' on the process doesn't show anything.
> >
> > This is of course the culprit. However, if you can't kill it, I don't=
know
> > of a way to get rid of it except rebooting. On the other hand, it wou=
ld
> > be useful to find out how it happened.
> =
> # kill -KILL <process id>
> really should be able to kill it (as SIGKILL cannot be caught).
Not always!
A process can be in a state where it cannot be killed at all, even with
a SIGKILL. This is usually a state where it is waiting for an event
which it has initiated, where the event will (most) certainly happen (or
some kind of timeout mechanism simulates the event) and cleanup in case
of a signal is tedious if not impossible.
-- =
Josef M=F6llers
Fujitsu Siemens Computers
SHV Server DS 1
------------------------------
From: "Giampaolo Tomassoni" <[EMAIL PROTECTED]>
Subject: Re: 2.3.99-pre6: can't compile bootsect.S
Date: Wed, 03 May 2000 11:42:40 GMT
"Robert Schiele" <[EMAIL PROTECTED]> ha scritto nel messaggio
news:[EMAIL PROTECTED]...
>
> How about upgrading binutils to 2.9.5.0.x?
I downloaded binutils-2.9.1 from the GNU site, which reports this version as
the latest.
I probably found the needed patches at
http://sourceware.cygnus.com/binutils/ . Am I right?
Thanks for the hint,
--
------------------------------------------------------
Giampaolo Tomassoni Information Systems Consultant
P.za 8 Aprile 1948, 4 Tel/Fax: +39-0578-21100
I-53044 Chiusi (SI) e-mail: [EMAIL PROTECTED]
ITALY
homepage: http://www.geocities.com/Eureka/Park/2209/
------------------------------
From: Robert Schiele <[EMAIL PROTECTED]>
Subject: Re: 2.3.99-pre6: can't compile bootsect.S
Date: Wed, 03 May 2000 14:20:32 +0200
Giampaolo Tomassoni wrote:
>
> "Robert Schiele" <[EMAIL PROTECTED]> ha scritto nel messaggio
> news:[EMAIL PROTECTED]...
> >
> > How about upgrading binutils to 2.9.5.0.x?
>
> I downloaded binutils-2.9.1 from the GNU site, which reports this version as
> the latest.
binutils-2.9.1 from the FSF don't work!
>
> I probably found the needed patches at
> http://sourceware.cygnus.com/binutils/ . Am I right?
Have a look at ftp://ftp.varesearch.com/pub/support/hjl/binutils/
Robert
--
Robert Schiele mailto:[EMAIL PROTECTED]
Tel./Fax: +49-621-10059 http://webrum.uni-mannheim.de/math/rschiele/
------------------------------
From: Luc Borms <[EMAIL PROTECTED]>
Crossposted-To: linux.dev.kernel,alt.linux,alt.os.linux.slackware
Subject: erratic behavior of do_gettimeofday() at high interrupt rates
Date: Wed, 03 May 2000 15:13:41 +0200
Hello,
I have written a Linux kernel module for a data acquisition board that
performs "high speed" interrupt driven count rate measurement, measures
count rate versus time. I used this board to perform measurements at a
rate of 1000 measurement per second or lower. The kernel module
installs an interrupt handler for IRQ4. I am running linux kernel
version 2.2.6 (Slackware)
on a 450MHz Pentium III.
At interrupt time the interrupt handler saves the measurement number and
the time of day obtained from a call to do_gettimeofday( struct timeval
*).
Strange things happen each time the "time of day" should make a leap to
the next integer second.
This is what I observed (based on measurements that are done at 1 msec
intervals): the first few measurements the time of day returned by
do_gettimeofday() jumps forward in time by practically a whole second,
then jumps back by +- 0.9 seconds, then starts increasing at a rate 10
times faster than expected and finally after a 0.1 seconds period jumps
back to its correct value and continues to return normal values. This
strange behavior is repeated every second during a time interval of
exactly 0.1 second
I also did test at lower interrupt rates of 200, 100 and 20 HZ, the same
behavior is observed although less visible at lower sampling rates. I
also
tried to install the interrupt handler as a fast or a slow handler (with
or without SA_INTERRUPT), and got the same strange behavior.
According to the kernel sources (linux/arch/i386/kernel/time.h) this
function
has microsecond resolution and better than microsecond precision on fast
x86 machines with TSC.
Is this behavior normal or a possible bug or could there be a bug in my
sources ?
Thanks in advance.
------------------------------
From: Maciej Golebiewski <[EMAIL PROTECTED]>
Subject: Re: Code transfert from machine to another
Date: Wed, 03 May 2000 16:08:05 +0200
Nicolas Boulay wrote:
> Is it possible to run code by a machine throught a network from an other
> machine without using the file system ? More precisely, is it possible
> to make a programme that can execute some of this function by differents
> machines ? Those machines will not have any dedicated server for this
> program.
You can use mpi or pvm; but this means your program has to be written
in a specific way.
If, on the other hand, you're speaking about task migration, then probably
your only option at this moment would be Condor (but I heard it does not
work with programs using sockets etc.)
Maciej
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************