Linux-Development-Sys Digest #733, Volume #6 Fri, 21 May 99 08:14:04 EDT
Contents:
Re: Hostile Takeover of Linux (Martin Maney)
gdb problems on threaded program (Zsolt Zsoldos)
Re: MTRR cpu register and AMD-K6 with CXT core (Carlos Eduardo Rodrigues - LEI)
Re: Linux-2.2.8, 2.2.9 and update - What's the story? ("Arne K. Haaje")
Start Your Own Business - FREE CD-Rom 31319 ([EMAIL PROTECTED])
Re: Linux HQ website disappeared ? (Giandomenico De Tullio)
Re: Kernel 2.2.9 is working OK for me. (David L. Bilbey)
"Symlink component flag not implemented": problem with long symlinks? (Peter
Bouthoorn)
Re: accurate timer - HELP! ("Vladimir G. Stanishev")
Re: minor problem with linux -- any help? (Konrad Mieredorff)
Re: __register_frame_info, glibc2.0.6 and Slackware 3.6 (Paul Kimoto)
Re: i386 ENTER instruction problem (Pierre Muller)
Re: accurate timer - HELP! (killbill)
Re: i386 ENTER instruction problem (Mike Jagdis)
GNU assembler to Solaris assembler (Ryutaro Susukita)
Re: accurate timer - HELP! (Robert Kaiser)
Re: get client machine's IP-address (PennGwyn)
Urgent: Linux and IBM PCI Token Ring ([EMAIL PROTECTED])
----------------------------------------------------------------------------
From: Martin Maney <[EMAIL PROTECTED]>
Subject: Re: Hostile Takeover of Linux
Date: 21 May 1999 02:04:21 GMT
Ross Vandegrift <[EMAIL PROTECTED]> wrote:
>>If "8-bit is the norm" what is the character with (decimal) code 128?
> The charecter `C' with a squiggle under it.
I'm afraid that's the "IBM PC" extended character set. The Latin-1 encoding
doesn't assign any characters to the codes 128 through 159 (the high-bit-set
analogs of the control characters) IIRC.
> A quick web search on Extended ASCII turned up this decent looking page:
> http://www.johnco.cc.ks.us/~mfoster/ascii.html
Ah yes - see his link to the ISO Latin-1 character set - those codes are
unassigned in that encoding.
------------------------------
From: Zsolt Zsoldos <[EMAIL PROTECTED]>
Subject: gdb problems on threaded program
Date: Fri, 21 May 1999 05:33:48 GMT
Hi there,
I tried to use gdb (directly in CLI as well as from ddd) on a multi-threaded
program, but I keep running into the following problems:
1. If I try to post-mortem debug a core, it starts up with an error message:
../sysdeps/unix/sysv/linux/sigsuspend.c - no such file or directory
2. The stack trace comes up in a thread which was sleeping and not the one
that caused the crash, and I did not find any way to switch to other thread.
E.g. the thread window of ddd shows only this single thread
3. If I try to run the program from gdb, I get the same message as in #1
My environment: dual Pentium II 350MHz, kernel 2.2.5-15smp (a precompiled
kernel rpm from rawhide.redhat.com for SMP 686 machines), gdb-4.18-2,
glibc-2.1-3
My questions:
1. Could someone tell me, which package (rpm or tgz) do I need to install
to have that missing file ready for gdb, please?
2. Is gdb-4.18-2 supposed to be able to debug multi-threaded programs on kernel
2.2.5 ?
3. How can I switch threads in the CLI of gdb (I could not find it in the
help...)
Thanks a lot,
Zsolt
--
If you want to reply directly to me, remove the dot from my username!
"Windows has detected that the mouse has moved, please REBOOT for
this change to take effect!" - from M$ Win00 (Not Y2K compliant)
------------------------------
From: [EMAIL PROTECTED] (Carlos Eduardo Rodrigues - LEI)
Subject: Re: MTRR cpu register and AMD-K6 with CXT core
Date: 20 May 1999 18:32:57 GMT
Bernd Melchers ([EMAIL PROTECTED]) wrote:
: I heard, that the newer AMD-K6-2 (with CXT core) and the AMD-K6-III chips
: have the famous MTRR registers which speed up access to frame buffers etc.
: Is linux-2.2.x capable of using these registers of the AMD CPUs or
: does linux only use these registers if running at P-II and 6x86MX chips?
: By reading linux/Documentation/Configure.help ...
: Here are the settings recommended for greatest speed:
: - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
: 486DLC/DLC2 and UMC 486SX-S. Only "386" kernels will run on a 386
: class machine.
: - "486" for the AMD/Cyrix/IBM/Intel DX4 or 486DX/DX2/SL/SX/SX2,
: AMD/Cyrix 5x86, NexGen Nx586 and UMC U5D or U5S.
: - "586" for generic Pentium CPUs, possibly lacking the TSC
: (time stamp counter) register.
: - "Pentium" for the Intel Pentium/Pentium MMX, AMD K5, K6 and
: K6-3D.
: - "PPro" for the Cyrix/IBM/National Semiconductor 6x86MX, MII and
: Intel Pentium II/Pentium Pro.
: ... one could conclude that linux makes no difference between simple K6 and
: CXT-K6.
Linux supports MTRRs in AMD K6-2 and K6-3 along with some Cyrix processors
since kernel 2.2.8.
------------------------------
From: "Arne K. Haaje" <[EMAIL PROTECTED]>
Subject: Re: Linux-2.2.8, 2.2.9 and update - What's the story?
Date: Fri, 21 May 1999 08:37:37 +0200
Bob Tennent wrote:
>
> On Fri, 21 May 1999 08:00:30 +1000, Chris Rankin wrote:
>
> >When 2.2.8 came out, it said in the notes that I might want to consider
> >not running the update daemon. Well, I installed and killed the daemon
> >and noticed that the update daemon was what had been preventing my
> >system from spontaneously entering the APM "standby" mode. Anyway, then
> >2.2.9 came out and I upgraded to that - and now I'm hearing horror
> >stories about 2.2.8 causing file-system corruptions in other systems. I
> >think that 2.2.9 can be considered "safe", but is this because it's
> >pretty much backed out everything put in by 2.2.8 (meaning I need to run
> >update again - which I am) or are there sufficient changes left to make
> >update unnecessary?
> >
> According to the story at Linux Weekly News, 2.2.8 had an inadequately
> tested "feature" that turned out to be a bug. It was removed in 2.2.9
> but I'm sure the other changes were left in.
>
> Bob T.
But, do we run update under 2.2.9 ?
Arne
--
================================
Arne K. Haaje |
Enebakkveien 2 | M: 92 88 44 66
N-1825 Tomter | [EMAIL PROTECTED]
================================
The system needed Windows 95
or better, so I installed Linux!
------------------------------
From: [EMAIL PROTECTED]
Subject: Start Your Own Business - FREE CD-Rom 31319
Reply-To: [EMAIL PROTECTED]
Date: Friday, 21 May 1999 00:25:51 -0600
Get your free marketing CD-Rom and start your own business
http://members.tripod.com/marketcdinfo/
FH
------------------------------
From: Giandomenico De Tullio <[EMAIL PROTECTED]>
Subject: Re: Linux HQ website disappeared ?
Date: Thu, 20 May 1999 17:46:59 +0200
Philip Boucherat wrote:
>
> The Linux HQ web site seems to have disappeared - does anyone know where
> it's gone?
Change domain-name:
http://www.kernelnotes.org/
--
Windows98: Plug (lo scanner USB) and Pray (che non crashi il sistema)
Microsoft Outlook : dove vuoi vuoi vuoi vuoi vuoi postare oggi?
------------------------------
From: David L. Bilbey <[EMAIL PROTECTED]>
Subject: Re: Kernel 2.2.9 is working OK for me.
Date: 20 May 1999 19:34:27 GMT
+-----On Mon, 17 May 1999 15:35:05 +0100, Mike Diack spoke unto us:----------
| The only oddity I am seeing (though I think it's X related) is occasional
| video corruption of my console screen on exit from X 3.3.3.1 (I'm running
| the SVGA server
| on a S3 Virge, with a Voodoo 1). It's not yet always repeatable but seems to
| happen about 1 time in 2 and remains a problem until shutdown.
This happens to me often also with almost every kernel. A temp fix is to
run 'setfont' from the console. It should restore your garbled fonts.
bilbey
--
"Instead of a bicycle built for two, what about no kinds of bicycles at
all for anybody, anymore? There, are you happy now?" --Jack Handey
------------------------------
From: [EMAIL PROTECTED] (Peter Bouthoorn)
Subject: "Symlink component flag not implemented": problem with long symlinks?
Date: 21 May 1999 07:32:14 GMT
Reply-To: [EMAIL PROTECTED]
Hi,
ther other day I got the following kernel error messages, a couplt of times:
"Symlink component flag not implemented"
Something followed by a number. Looking through the kernel souce code I found
that this message is generated by the rockridge part of the iso9660. Which
makes sense because I was reading a CD-ROM. I suspect the error is cause by
a buffer overflow of some kind because when I tried to reproduce the error
it displayed less errors than before! Eventually the number of errors was
reduced to 1.
I got this error with: kernel 2.2.8 using while reading the Solaris 2.5.1
installation CD-ROM (Sparc version). For instance try to do an ls on:
/cdrom/MU/Solaris_2.5.1MU5/sparc/Patches/patch/SUNWpatch.sun4u1/reloc/opt/SUNWit
s/Graphics-sw/xil/lib/pipelines
And see what happens. In my case the first symlink should probably end in
"pipelines/", but it was displayed as "pipelinki". So it seems there's some
kind of buffer overflow (?).
Is this a know problem? (couldn't find anything on dejanews though).
Cheers,
Peter
--
Peter Bouthoorn | "We will encourage you to develop the three
[EMAIL PROTECTED] | great virtues of a programmer: laziness,
Linux addict | impatience, and hubris"
| L. Wall & R.L. Schwarz
------------------------------
From: "Vladimir G. Stanishev" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.hardware,comp.realtime,comp.hardware
Subject: Re: accurate timer - HELP!
Date: Thu, 20 May 1999 23:52:46 -0400
killbill wrote:
> In article <[EMAIL PROTECTED]>,
> Dorin-Ioan Marinca <[EMAIL PROTECTED]> wrote:
>
> > How can I count the time (*less than 1us* - even x*10ns) very accurate
> > on Linux? I search something not depended on hardware or, if not,
> > something Pentium specific.
honnestly I doubt that you'll be able to get to less than 1 microsecond
resolution. You may have already found the UTIME
project at http://hegel.ittc.ukans.edu/projects/utime/, but it claims to
give a precision of only 50us. and although it is a cool idea make sure
you look at the "known bugs" section and teh fast timers part. I think
your best bet is to use the time stamp counter which was already mentioned
somewhere.
> >
> > (gettimeofday() return *realy* microseconds or only something rounded
> > at n*10ms?)
>
> Anybody know to what degree Linux supports Posix.4?
Hmmm. I've been searching in this question for the past few weeks. here is
what I've gathered (from newsgroups, web, etc)
_POSIX_REALTIME_SIGNALS
_POSIX_PRIORITY_SCHEDULING
_POSIX_MEMLOCK
_POSIX_MEMLOCK_RANGE
_RANGE _POSIX_MAPPED
_FILES _POSIX_MEMORY_PROTECTION
_POSIX_TIMERS (not implemented)
_POSIX_ASYNCHRONOUS_IO
_POSIX_PRIORITIZED_IO (not implemented)
_POSIX_SYNCHRONIZED_IO
_POSIX_FSYNC
_POSIX_MESSAGE_PASSING (not implemented)
_POSIX_SEMAPHORES (hmm. partially implemented)
_POSIX_SHARED_MEMORY_OBJECTS (not implemented)
this is all supported either by the kernel 2.2.x or by glibc-2.1, it's not
counting any patches you might find (my impression is that they are all
wrappers to alredy existing functioality). if anyone has any corrections
or info what's comming please email me. my impression is that there aren't
even plans for anythign that's marked as not implemented.
------------------------------
From: Konrad Mieredorff <[EMAIL PROTECTED]>
Subject: Re: minor problem with linux -- any help?
Date: Thu, 20 May 1999 19:37:33 +0000
Sascha Bohnenkamp wrote:
>
> hello,
>
> i am using 2.2.x kernels (all have the same behaviour/problem)
> my mashine has 512mb/ram and is dual p2/400
> when my programm are writing very much data (some gigs) and linux is
> flushing its filecache (which is very big than:) ) the system is nearly
> unusable until
> the flush is done ... is it possible to make this more smooth?
> maybe dirty pages should be wirtting more often back to disk?
>
> with 'unusable' i mean i type within a tty and it takes approx 1s for each
> keypress to be
> seen on screen!
>
> btw. the system is uw-scsi only (adaptec 7895)
>
> thnx
Maybe the information in
/your/linux/scource/base/dir/Documentation/sysctl/ helps you. (Don't
forget to write tuning-tips that could be included into the
documentation.)
Bye ...
- Konrad Mierendorff
------------------------------
From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: __register_frame_info, glibc2.0.6 and Slackware 3.6
Date: 20 May 1999 16:34:40 -0500
Reply-To: [EMAIL PROTECTED]
In article <[EMAIL PROTECTED]>, Christopher Strong wrote:
> makeinfo: can't resolve symbol '__register_frame_info'
You are mixing programs or libraries (or both) compiled by
gcc and egcs. Unfortunately this sometimes doesn't work.
One solution is to pick through the programs and libraries
to find out where this symbol is required and resolved,
then make the appropriate fix; another is to get a entirely
consistent set; also there is a hack that may work for you
at http://www.garloff.de/kurt/freesoft/ .
--
Paul Kimoto <[EMAIL PROTECTED]>
------------------------------
From: [EMAIL PROTECTED] (Pierre Muller)
Subject: Re: i386 ENTER instruction problem
Date: 21 May 1999 09:46:36 GMT
>One warning (found out on an P2): At least ENTER 0 (ie. just pushing ebp and
>and setting it to esp) is more than 500-1000% SLOWER * than
>'puhsl %ebp; movl %esp,%ebp'. It seems that this instruction has a bug and/or
>is executed in microcode. On the other hand, LEAVE is slightly faster than the
>'dicrete' commands.
OK, the result of my discussion with H. Peter Anvin
is that ENTER is not handled correctly in the kernel
and thus a program that has an enter instruction that causes
esp to go to a page below creates a SIGSEGV !
Thus ENTER should NOT be used under linux !!!
My opinion was that such a bug should be fixed in the kernel,
but H. Peter Anvin disagreed with me on that point !
His argument was that ENTER is a useless instruction anyway !
Sample code is :
>>>
.globl _start
_start
enter $0x33cc,$0
leave
movl $1,%eax
xorl %ebx,%ebx
int $0x80
>>>>
as -o test.c test.s
ld test.o
./a.out
gdb ./a.out
gdb> run
confirms that the SIGSEGV occurs on the ENTER instruction !
------------------------------
From: killbill <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.hardware,comp.realtime,comp.hardware
Subject: Re: accurate timer - HELP!
Date: Thu, 20 May 1999 20:42:18 GMT
In article <7i1pri$fd3$[EMAIL PROTECTED]>,
killbill <[EMAIL PROTECTED]> wrote:
> In article <[EMAIL PROTECTED]>,
> Dorin-Ioan Marinca <[EMAIL PROTECTED]> wrote:
> > (gettimeofday() return *realy* microseconds or only something
> > rounded at n*10ms?)
>
I did a little poking around on my ISP account (who is smart enough to
be using Linux) and found out (from the man page for nanosleep):
BUGS
The current implementation of nanosleep is based on the
normal kernel timer mechanism, which has a resolution of
1/HZ s (i.e, 10 ms on Linux/i386 and 1 ms on Linux/Alpha).
Therefore, nanosleep pauses always for at least the speci-
fied time, however it can take up to 10 ms longer than
specified until the process becomes runnable again. For
the same reason, the value returned in case of a delivered
signal in *rem is usually rounded to the next larger mul-
tiple of 1/HZ s.
Sounds like on a PC, 10 ms is the best you can do and remain platform
independent.
--
Bil Kilgallon ([EMAIL PROTECTED])
--"I believe, what I believe, has made me what I am. I did not make
it, It is making me, it is the very truth of God, not the invention
of any man". Rich Mullins, quoting G.K. Chesterton.
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
------------------------------
From: [EMAIL PROTECTED] (Mike Jagdis)
Subject: Re: i386 ENTER instruction problem
Date: 21 May 1999 10:43:49 GMT
Reply-To: [EMAIL PROTECTED]
In article <7i3a1s$si3$[EMAIL PROTECTED]>, Pierre Muller wrote:
> OK, the result of my discussion with H. Peter Anvin
>is that ENTER is not handled correctly in the kernel
>and thus a program that has an enter instruction that causes
>esp to go to a page below creates a SIGSEGV !
>
> Thus ENTER should NOT be used under linux !!!
>
> My opinion was that such a bug should be fixed in the kernel,
>but H. Peter Anvin disagreed with me on that point !
>His argument was that ENTER is a useless instruction anyway !
A year or two ago I had this problem with some ancient (I think
they were Coherent) binaries under iBCS which used enter...leave.
If you look at the Linux page fault handler you will find that
it treats any fault for an address more than a certain amount
below %esp to be an illegal dereference rather than a stack
expansion. The problem with enter is that it appears to write
save values _before_ setting the new value of %esp so enter
with a size greater then Linux's magic constant which cause
a page fault will generate a seg fault.
I think one, maybe two people ever filed an iBCS bug report
about it so I never bothered to worry about a fix other than
hacking out the check from the page fault handler. Anyway, no
one has used enter...leave for years because doing it by hand
with simple instructions is usually a lot faster (and lets you
do the extra idiot check in the fault handler).
Mike
--
A train stops at a train station, a bus stops at a bus station.
On my desk I have a work station...
.----------------------------------------------------------------------.
| Mike Jagdis | Internet: mailto:[EMAIL PROTECTED] |
| Roan Technology Ltd. | |
| 54A Peach Street, Wokingham | Telephone: +44 118 989 0403 |
| RG40 1XG, ENGLAND | Fax: +44 118 989 1195 |
`----------------------------------------------------------------------'
------------------------------
From: [EMAIL PROTECTED] (Ryutaro Susukita)
Crossposted-To: comp.unix.solaris
Subject: GNU assembler to Solaris assembler
Date: 21 May 1999 10:41:31 GMT
I would like to covert one inline assembly function included in SPARC
Linux to Solaris assembler syntax. The function is written in GNU
assembler syntax.
Two syntax errors are reported due to pseudo operators when I compile
using gcc on Solaris.
> cat foo.c
inline void spin_lock(unsigned char *lock)
{
__asm__ __volatile__("
1: ldstub [%0], %%g2
orcc %%g2, 0x0, %%g0
bne,a 2f
ldub [%0], %%g2
.text 2 <==
2: orcc %%g2, 0x0, %%g0
bne,a 2b
ldub [%0], %%g2
b,a 1b
.previous <==
" :
: "r" (lock)
: "g2", "memory", "cc");
}
> gcc -c foo.c
/usr/ccs/bin/as: "/var/tmp/cc030Gpt.s", line 18: error: quoted-string operand required
/usr/ccs/bin/as: "/var/tmp/cc030Gpt.s", line 23: error: unknown opcode ".previous"
/usr/ccs/bin/as: "/var/tmp/cc030Gpt.s", line 23: error: statement syntax
How can I convert the function to Solaris assembler syntax? In
particular I cannot find '.previous' pseudo operator in GNU assembler
info manual.
I have confirmed that gcc + GNU assembler can compile this function on
Solaris.
<---------> Computational Science Laboratory
The Institute of Physics and Chemistry(RIKEN)
>---------< Susukita Ryutaro
------------------------------
From: [EMAIL PROTECTED] (Robert Kaiser)
Crossposted-To: comp.os.linux.hardware,comp.realtime,comp.hardware
Subject: Re: accurate timer - HELP!
Date: 20 May 1999 22:42:51 GMT
In article <7i1s39$h6p$[EMAIL PROTECTED]>,
killbill <[EMAIL PROTECTED]> writes:
> In article <7i1pri$fd3$[EMAIL PROTECTED]>,
> killbill <[EMAIL PROTECTED]> wrote:
>> In article <[EMAIL PROTECTED]>,
>> Dorin-Ioan Marinca <[EMAIL PROTECTED]> wrote:
>> > (gettimeofday() return *realy* microseconds or only something
>> > rounded at n*10ms?)
>>
>
> I did a little poking around on my ISP account (who is smart enough to
> be using Linux) and found out (from the man page for nanosleep):
>
> BUGS
> The current implementation of nanosleep is based on the
> normal kernel timer mechanism, which has a resolution of
> 1/HZ s (i.e, 10 ms on Linux/i386 and 1 ms on Linux/Alpha).
> Therefore, nanosleep pauses always for at least the speci-
> fied time, however it can take up to 10 ms longer than
> specified until the process becomes runnable again. For
> the same reason, the value returned in case of a delivered
> signal in *rem is usually rounded to the next larger mul-
> tiple of 1/HZ s.
>
>
> Sounds like on a PC, 10 ms is the best you can do and remain platform
> independent.
This applies to the nanosleep, usleep, select and poll functions,
i.e. all functions that suspend processes for a given time. This is
because the system ticker (i.e. the OS's "heartbeat") ticks at a
rate of 10 ms. (Meaning the timer generates an interrupt every
10 ms). Therefore, timed sleeps based on this tick can't
offer higher resolution than 10 ms.
gettimeofday() is different though as it just polls the current
timer "on the fly", it doesn't cause a process to suspend. If the
timer's counter register can be read on the fly, it can offer much
higher resolution. I'm certain that this works on suns and I believe
it also works on PCs running Linux.
Rob
================================================================
Robert Kaiser email: rkaiser AT sysgo DOT de
SYSGO RTS GmbH
Mainz / Germany
------------------------------
Crossposted-To:
comp.os.linux.development.apps,comp.programming,comp.unix.programmer,comp.os.linux.networking
Subject: Re: get client machine's IP-address
From: [EMAIL PROTECTED] (PennGwyn)
Reply-To: [EMAIL PROTECTED]
Date: 21 May 1999 10:59:04 GMT
In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] says...
>
>This program runs in the server but thru the pseudo-tty its output is
>displayed at the client machine.
Note that that machine isn't a client of your application -- it's a client of
the telnet daemon. Perhaps your application coulkd discover that through some
ioctl() call, but since the point of Telnet is to isolate your app from the
network connection details, perhaps not.
------------------------------
From: [EMAIL PROTECTED]
Subject: Urgent: Linux and IBM PCI Token Ring
Date: Fri, 21 May 1999 10:52:04 GMT
Hi Folks,
I have a big problem. I have to install a Linux
Maschine with a PCI Token Ring Card, but I know
that no Kernel release before 2.2.5 support this
feature. Does anybody know about something
different to the releases up to 2.3.3 ?
Please send an Email to [EMAIL PROTECTED]
Many ThanX
Thorsten
--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---
------------------------------
** 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
******************************