Copy Link
Add to Bookmark
Report

Linux News Issue 10

eZine's profile picture
Published in 
Linux News
 · 5 years ago

  




L i n u x N e w s

A summary of the goings-on in the Linux community

Issue #10 Jan 1 to Jan 10

Unser Motto: "Hacken und Helfen"




***** Contents

- My Two Cents ....... blah blah woof woof from the editor
- Announcements ....... the week++ in c.o.l. and c.o.l.a.
- How Jump Tables Work .. Eric Youngdale
- Good Answers ....... to questions in and out of the FAQ


***** My Two Cents

Well, it's been ~one week since my first issue of Linux News and I've
received no exploding binaries or redirected output from "worms" or
"rain" in my mailbox .. so here is another issue. In fact, all the
mail I received was helpful and encouraging, particularly that from
Arnd Gehrmann, who provided the German translation of "our motto", and
Bernie, another German Linux Activist. Thanks guys and thanks to Eric
for his short tutorial on jump tables. Because there are now many
channels available for Announcements, I would like to include useful
and informative "articles" in Linux News. If you have written, or
would like to write, anything on the technical, theoretical, or
practical nature of Linux ... send me mail! Success stories, porting
sagas, interviews, "Where Were You When 0.10 Was Released", "How
Hacking Made My Girl/Boy Friend Leave/Marry Me" ... all are welcome.

I've also started a little section for answers to questions posted
which seem as though they would be worth repeating; either because
they are in the FAQ and are _STILL_ posted or because they are
interesting and not answered in the FAQ.

Special Request: Would readers in non-English speaking countries (like
Denmark, Finland, Italy and Baltimore) please send me translations of
"Our Motto: To hack and to serve"?

- Denise Tree
tree@midget.towson.edu
tree@cs.jhu.edu ( a real special thank you to
hometown Activist Bill Bogstad, at J.H.U.,
for this account, no more will "less" be my
news reader)!


***** Announcements

- Linux-0.99 patchlevel 2 kernel ready
- Settime source and binary at sunsite
- XpoolTable-1.2 at export.lcs.mit.edu
- ANNOUNCE channel: New at Linux-Activists
- New extended file system programs efsck and mkefs released
- Dmalloc.taz (debugging malloc package) uploaded
- New SLS expected soon
- Seyon 1.7
- Glib and adagio (patch editor and score player for Soundblaster) at tsx-11
- Mailpak-1.4 is available
- Lilo 0.8 released
- Zip 1.9pl1 and Unzip 5.0 binaries at sunsite and tsx-11
- Ncurses ... new BETA curses library available for use
- New alt newsgroup - alt.uu.comp.os.linux.questions
- QIC -02 driver release 2d is out
- Binary of Seyon 1.7 is available
- Linux FAQ now in a Latex version!
- Network suite new at sunsite
- New curses lib expected soon from Ed Carp
- BSD C shell for Linux
- SUIT works with Linux!
- SUIT is explained!

***** Announcements

- January 1 Linus sent out the 0.99pl2 kernel today with the request:
"Please try out 0.99.2: the more feedback (hopefully positive) I get
on it, the faster 1.0 will be out".

Linus lists the following changes:
- pretty much rewritten low-level keyboard handling IO - this time
actually trying to do it by the book. It now handles resend requests
from the keyboard etc.
- you can run executables from filesystems without bmap support. This
mainly means NFS and msdos. Note that while it's possible, it's
slower and less memory-efficient than using a "normal" linux
filesystem, and should generally be avoided.
- /proc filesystem changes: /proc/kmsg can be used to log the kernel
messages under X11 (instead of using the older system call to do the
same), and there are changes to the statistics routines (WCHAN).

+ various minor fixes (non-existent devices are handled better, some
changes to socket bind behaviour etc).

Linus



- January 1 John Turnbull announced binaries and source for
settime, a utility to set the system clock with the NIST clock in
Boulder, CO. and display the time. Binaries compiled with jump
tables and tested with libc 4.2.
FTP:sunsite.unc.edu: pub/Linux/Incoming/settime.tar.Z

- January 1 Arit Ismail has uploaded version 1.2 od XpoolTable
to export.lcs.mit.edu and notes that it will compile out of the box
for Linux
FTP:export.lcs.mit.edu:/contrib/XPoolTable-1.2.tar.Z

- January 2 Matt Welsh has created the ANNOUNCE channel on
Linux-Activists to mirror comp.os.linux.announce. To join the
channel send mail to linux-activists-request@niksula.hut.fi and put
"X-Mn-Admin: join ANNOUNCE" in the message body.

- January 2 Remy Card will make new versions of the extended file
system utilities, efsck and mkefs, available at tsx-11. These
versions are compatible with gcc 2.3.3 and libc 4.2.
FTP: to be released soon as:
efsprogs12.tar.Z - source and binaries
efsprogs12.bin.tar.Z - binaries
efsprogs12.src.tar.Z - source
efsprogs.p12.Z - patch against ver. 11

- January 4 Peter MacDonald says that is "ironing out a few last
wrinkles before I can cut a set of disks for a new version of SLS".
From Peter's post:

First though, I have had some reports of people with some SCSI drives
still having to use an older kernel to boot, because they can not boot
.99p[012] successfully. Anybody else?

Now to the serial ttys. Unless someone comes up with the equivalant
of a grand unified forces theory to explain why I can't, I plan
on renaming the serial devices in the next SLS release to
ttyS0, ttyS1 and ttyS2. This because between Xwindows, emacs,
screen, and tcpip, psuedo ttys are getting pretty much in
demand. I am not worried about running out of them, so much
as I am about applications trying to grab ttys0, and do
funny things with it.

This came clear to me when I was revising the MAKEDEV script to
generate the 64 pty pairs. No can do using pqrs.

The ps2 mouse device will also be renamed back to ps2aux (as
it is not a busmouse) from bmouseps2. I hate changing device
names, but can't be helped.

I also want to have a post install script in place, to be
run after logging in the first time. This can set things
to be a bit more generic. Like /dev/mouse.

I noticed that the uugetty program in getty_ps2.04 does lose
chars, but it does it for me sporadically. If I am using
kermit, for example, I can usually fix it by exiting,
and restarting kermit a few times. Also, when I am
dialing from kermit, the first char is not echoed (ie, the
'a' from 'atdt').

There will be a very large number of changes to the next
release, all of it in series 'a', 'b', and 'c'.
So much so, that upgrading will not be practical. You
will have to download the entire three series (16 disks).
This will include the new compiler and libraries, and
a number of new packages, as well as many fixed binaries
and new versions.

This upgrade will go smoother, because I will not release
it until I am satisfied. So don't ask when. I will
give a days notice (more if possible).

Peter.

- January 4 Muhammad Saggaf has updated Seyon, the X based
communications package, to version 1.7. There are many changes,
including: updated man page (note: FAQ is outdated), revised popup
window location - no more "dangling" windows, new resource
dialAutoClose - closes the dialing directory window after a succesful
connection, case sensitive script commands and keywords, new
configuration script, and much more.
FTP:sipb.mit.edu:/pub/seyon/

- January 5 Greg Lee has made sound tools for the Soundblaster or
compatible available at tsx-11. They are glib, a patch editor, and
adagio, a music score player.
FTP:tsx-11.mit.edu:/incoming/glib18.tar.Z and adagio01.tar.Z

- January 7 Ed Carp has uploaded an abbreviated version of mailpak to
sunsite which contains taylor-uucp-gamma 1.04,elm-2.4pl17 patches,
uustatus, and sample uucp system files. As Ed explains, much of the
functionality of mailpak-1.3 is now included in newspak-1.2.
FTP:sunsite.unc.edu:/pub/Linux/Incoming/mailpak-1.4

- January 7 Werner Almsberger has announced the latest release of Lilo
for Linux which includes: quick installation script, serial line
operation, scsi disk parameter detection (except for Seagate and
Ultrastore controllers).
FTP:sunsite.unc.edu:/pub/Linux/Incoming/ and
tsx-11.mit.edu:/pub/linux/packages/lilo:lilo.8.tar.Z and
lilo.8.ps.Z (postscript docs)

- January 7 Rick Sladkey has uploaded new networking programs to
sunsite. New versions of ftp, ftpd, rshd, rlogin, rlogind, finger,
fingerd, talk, ntalkd, tftp and tftpd are included. Libc 4.2 must be
present to utilize these binaries and rlogind will only work with
0.99pl2 kernel.
FTP:sunsite.unc.edu:/pub/Linux/Incoming/net-0.2README
net-src-0.2.tar.Z
net-bin-0.2.tar.Z

- January 7 Greg Naber has put newest versions of Zip and Unzip at
tsx-11 and sunsite
FTP:tsx-11.mit.edu and sunsite.unc.edu: unzip50.tar.Z (source)
unzip50.zip (source?)

- January 7 A new BETA version of Curtis Pavel's ncurses has been
uploaded to sunsite by Zeyd M. Ben-Halim. Ncurses is a SYSV com-
patible curses which supports keypad and terminfo; Zeyd has also
added ALPHA color support! This is a testing release and it is
requested that people tinker, test, and make bugs and comments
available for improvements. Docs are there too.
FTP:sunsite.unc.edu:/pub/Linux/Incoming/ncurses.lzh

- January 8 Jyrki Kuoppala announced the new Usenet University
newsgroup alt.uu.comp.os.linux.questions - the Q&A column.
For more info see the FAQ in alt.uu.announce and alt.uu.future

- January 8 Hennus Bergman has uploaded the new QIC-02 tape driver.
It requires ~0.99pl1 kernel to run.
FTP:tsx-11.mit.edu:/pub/linux/ALPHA/QIC-02/tpqic02-2d.tar.Z

- January 8 In order to make Seyon a little more accessable for those
who are unfamiliar with X compilation/configuration, Muhammad Saggaf
has put together a binary distribution with an install script for
his version 1.7pl2 of the X comms program. The binaries are made
with libc4.2 and X libs 2.1: these must be installed correctly on
your system in order to use the binary.
FTP:sunsite.unc.edu:/pub/Linux/Incoming/Seyon-1.7-linux-bin-tar.Z

- January 8 Pepe Flores Peters has uploaded Latex source and .dvi file
for the Linux FAQ. It's the most beautiful FAQ he's ever seen :).
FTP:tsx-11.mit.edu:/pub/linux/docs/linux-faq.tex.Z
linux-faq.dvi.Z

- January 8 Ed Carp has announced that he is working on a pre-ALPHA
release of the Linux curses library with support for function and
arrow keys (hooray!) and ACS support (???). Send mail to Ed at
erc@apple.com if you would like a source copy ( ~100k compressed).

- January 8 Robert Chen has ported the standard BSD C shell to Linux
for those who don't like bash, tcsh, zsh, rc, pdksh or ...
FTP:sunsite.unc.edu:/pub/Linux/Incoming/csh526a.tar.Z

- January 9 Bradley E. Smith announced that he was able to get SUIT up
and running under Linux and asks if anyone is interested in having
him upload it to a Linux site.

- January 9 Bradley E. Smith posts README for SUIT - The Simple User
Interface Toolkit (thanks Bradley!)

"SUIT is a library of interface tools developed at the University of
Virginia to help C programmers create sophisticated mouse based
interfaces without the lengthy learning period associated with
traditional user interface toolkits. Ease of learning and fast ramp up
time is central to SUIT's design. The SUIT tutorial is designed to
make the user productive in under two hours".



/* ---- How Jump Tables Work, by Eric Youngdale ----- */



Question:
What's the business with jump tables? I think jump tables refer to
indirect addressing so that you can have fixed entry points to libraries
while still be able to change the implementation. Why is there the other
alternative, and is it still supported?

The kernel reserves the address space from 0x60000000 to 0xc0000000 for shared
libraries and each library is assigned an address ahead of time. At the start
of each shared library is basically a series of jump instructions and these
jump off to each of the routines within libc. When there is an upgrade to
libc, the jump instructions remain at the same address even though the actual
functions move around as required.

Before we had the jump tables, programs were linked in such a way that you
would call the function directly. The problem with this was that with each new
version of the library the functions would be at different addresses, and you
had to relink when you went to a new version of the library. These are called
"Classic" libraries, and are still supported and used (X11 libraries for
example). X was too hard to jumpify with the old library building tools, and
the libraries change fairly infrequently so at the time it was decided that X
remain a classic library.


Question:
What is the shared library resolution mechanism? I would think that at
run time the the library with matching major number and highest minor
number would be selected. Seeing people link and copy the libraries to
different names and having had problems with programs that required 4.1,
not 4.2, it seems this isn't the case. Why? What's the use of jump
tables, if you cannot use old programs with newer libraries? How do I
know, if a new library is compatible with an older one (modulo bugs)? Is
there some internal version number in the library, or is it all in the
name?

Each library reference contains a couple of bits of info.
First of all there is a filename that will be opened and is assumed to
contain the library. Secondly, the version number of the library that
the program was linked to is also stored. At startup time, kernel
maps the image of the sharable library into your address space, and
then it compares the version numbers to make sure that everything is
compatible. For a jump table library, the startup code verifies that
the major number is the same, and that the minor number is >= the
minor number of the library that the program was linked to. If there
are changes in the jump table library library that would make it
impossible to have binary compatibility, then the major number should
have been incremented and the minor number should be reset to 1 (0?).
The filename to be opened is usually in the form /lib/libc.so.4 in the
case of libc, and standard usage is that libc.so.4 be a symlink or a
copy of the version of libc that you want to use.

In the case of classic libraries the version number matching
is a little different. Since there is no binary compatibility from
one version to the next, both the major and number of the versions
must match.

If there are images out there that explicitly ask for /lib/libc.so.4.1
instead of /lib/libc.so.4, then I think that this is in error. The image was
probably linked to some prototype version of libc before the final release.

It turned out that there were some changes in libc 4.2 to regex which
broke sed, recompiling sed seemed to fix the problem.

The future of sharable libraries under linux looks rosy indeed. A new
set of tools has been developed which makes the generation of a sharable
library pretty foolproof, and it is possible that these will be used to jumpify
the next version of the X libraries. Once this has been done you will simply
be able to slip in a new version of the shared X library and you will still be
able to run your old programs, except this time using the new library.

Consideration is also being given to some form of dynamic linking, and
It is possible that at some point in the future this will be a part of the
standard linux libraries. There is a working prototype which is currently
being evaluated which may be used, or it may take the form of some other scheme
that has yet to be developed. With the prototype of dynamicly linked
libraries, the changes are piggybacked on top of the existing jump table
libraries, so it may be possible for old binaries to run with the new libraries
(without any dynamic linking, however).


***** Good Answers

I think that the MOST FREQUENTLY ASKED FREQUENTLY ASKED QUESTION is
probably "Where is /usr/include/linux and /usr/include/asm?" or "Why
won't my new kernel source compile without errors?", etc.

Answer: These directories exist as symbolic links to the online linux
kernel source found (usually) in /usr/src/linux/include/linux/* and
/usr/src/linux/include/asm/*. Do:

ln -fs /usr/src/linux/include/linux /usr/include/linux
ln -fs /usr/src/linux/include/asm /usr/include/asm

to create the symlinks. OR ELSE! It's a good idea to keep kernel
source on your system because the header files are needed for
compilations other than the kernel.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT