The "May 2002 stream" is superseded by the "June 2003 stream."

Overview: "May 2002 stream"

LINUX for S/390 31-bit distributions and LINUX for zSeries 64-bit distributions can be built using:

Upgrades 2003-06-13:

Changes 2003-04-16:

Upgrades 2003-02-20:

Upgrades 2003-02-03:

Upgrades 2002-10-24:

Upgrades 2002-09-13:

Upgrades 2002-08-08:

New support and enhancements 2002-07-31:

Major new support and enhancements 2002-05-31:

System Build Cross Reference "May 2002 stream"

If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.

Available downloads


 

kernel downloads for the "May 2002 stream"
Package Downloads Description
kernel 2.4.19 linux-2.4.19-s390-may2002.tar.gz / MD5 (2002-09-13) See kernel 2002-09-13
linux-2.4.19-s390-1-may2002.tar.gz / MD5 (2002-10-24) See kernel 2002-10-24
linux-2.4.19-s390-2-may2002.tar.gz / MD5 (2002-11-25) See kernel 2002-11-25
linux-2.4.19-s390-3-may2002.tar.gz / MD5 (2003-02-03) See kernel 2003-02-03
linux-2.4.19-s390-4-may2002.tar.gz / MD5 (2003-03-17) See kernel 2003-03-17
linux-2.4.19-s390-5-may2002.tar.gz / MD5 (2003-04-16) See kernel 2003-04-16
linux-2.4.19-s390-6-may2002.tar.gz / MD5 (2003-06-13) See kernel 2003-06-13
On-demand timer patch linux-2.4.19-timer-2-may2002.tar.gz / MD5 (2003-06-13) See On-demand timer 2003-06-13
kerntypes linux-2.4.19-s390-kerntypes-may2002.tar.gz / MD5 (2002-09-13) See kerntypes 2002-09-13

 

OCO modules for the "May 2002 stream"
Package Downloads Description
qeth qeth-2.4.19-s390-2-may2002.tar.gz / MD5(2003-06-13)
qeth-2.4.19-s390x-2-may2002.tar.gz / MD5 (2003-06-13)
See qeth 2003-06-13
tape_3590_mod tape3590-2.4.19-s390-1-may2002.tar.gz / MD5 (2003-06-13)
tape3590-2.4.19-s390x-1-may2002.tar.gz / MD5 (2003-06-13)
See tape_3590_mod 2003-06-13

 

tool-chain for the "May 2002 stream"
Package Downloads Description
binutils-2.12.90.0.15 binutils-2.12.90.0.15-s390-may2002.tar.gz / MD5 (2002-10-24) See binutils 2002-10-24
gcc 3.2 n/a See gcc 2002-09-13
glibc 2.2.5 glibc-2.2.5-s390-may2002.tar.gz / MD5 (2002-05-31) See glibc 2002-05-31
glibc-2.2.5-s390-1-may2002.tar.gz / MD5 (2002-07-31) See glibc 2002-07-31
glibc-2.2.5-s390-2-may2002.tar.gz / MD5 (2002-08-16) See glibc 2002-08-16
glibc-2.2.5-s390-3-may2002.tar.gz / MD5 (2002-09-13) See glibc 2002-09-13

 

utilities for the "May 2002 stream"
Package Downloads Description
modutils 2.4.7 n/a See modutils 2002-05-31
s390-tools 1.1.7 s390-tools-1.1.7-may2002.tar.gz / MD5 (2003-06-13) See s390-tools 2003-06-13
(only for use with "May 2002 stream")

 

debug tools for the "May 2002 stream"
Package Downloads Description
gdb 5.3 gdb-5.3-s390-may2002.tar.gz / MD5 (2003-04-16) See gdb 2003-04-16
gdb 5.2.1 gdb-5.2.1-s390-may2002.tar.gz / MD5 (2002-07-31) See gdb 2002-07-31
strace 4.4 strace-4.4-1-s390-may2002.tar.gz / MD5 (2002-09-13) See strace 2002-09-13
strace-4.4-1-s390-1-may2002.tar.gz / MD5 (2002-10-24) See strace 2002-10-24

Another useful debug utility: lkcdutils-4.1 now includes further updates and bugfixes for the dump analysis tool lcrash. With lcrash it is possible to analyze system dumps created with the LINUX for zSeries dump tools. lkcdutils can be downloaded under http://lkcd.sourceforge.net or http://sourceforge.net/projects/lkcd.
See lkcdutils-4.1 Reduce dump size (savedump) patch to add new functions to the lkcdutils-4.1 from sourceforge.

Download Area "May 2002 stream"

If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.

Below are the downloads (with description) for the kernel 2.4.19 "May 2002 stream", listed in reverse chronological order. This can be used to backtrack the "May 2002 stream".

The System Build Cross Reference shows the most current set of downloads for the "May 2002 stream" and ignores superseded patches and modules (which are still shown below if not moved to the Archive).


 

Downloads for the kernel 2.4.19 "May 2002 stream""
Date Component Downloadable
2003-06-13 kernel


OCO modules



utilities
kernel 2.4.19 may2002
On-demand timer

qeth
tape_3590_mod

s390-tools 1.1.7
2003-04-16 kernel

debug tools
kernel 2.4.19 may2002

gdb 5.3
2003-03-17 kernel kernel 2.4.19 may2002
2003-02-20 utilities s390-tools 1.1.6 (superseded)
2003-02-03 kernel

utilities
kernel 2.4.19 may2002

s390-tools 1.1.5 (superseded)
2002-12-19 OCO modules qeth (superseded)
2002-11-25 kernel kernel 2.4.19 may2002
2002-10-24 kernel


tool chain

utilities

debug tools
kernel 2.4.19 may2002
On-demand timer

binutils 2.12.90.0.15

s390-tools 1.1.4 (superseded)

strace 4.4-1
2002-09-13 kernel



OCO modules



tool chain



debug tools
kernel 2.4.19 may2002
On-demand timer(superseded)
kerntypes

qeth (superseded)
tape_3590_mod (corrected 2002-09-18) (superseded)

binutils 2.12.90.0.15
gcc 3.2
glibc 2.2.5

strace 4.4-1
2002-08-16 tool chain glibc 2.2.5
2002-08-08 utilities s390-tools 1.1.3 (superseded)
2002-07-31 tool chain

debug tools
glibc 2.2.5 (superseded)

gdb 5.2.1
2002-05-31 tool chain

utilities
glibc 2.2.5

modutils 2.4.7

2003-06-13 kernel for the "May 2002 stream"

Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.

These patches contain the following linux kernel bug fixes:

Description:
kernel: s390dbf - invalid call of create_proc_entry() within spin_lock_irqsave() section.
Symptom:
Kernel hang when registering a s390dbf view in low memory situations.
Problem:
It is not allowed to call kmalloc() with GFP_KERNEL when interrupts are disabled! create_proc_entry() calls kmalloc(). create_proc_entry() is called when interrupts are disabled.
Solution:
Call create_proc_entry() before critical section is entered and before interrupts are disabled.
Problem-ID:
2719
Description:
dasd: Disable DASD_DIAG for 64 bit.
Symptom:
DASD_DIAG does not work for 64 bit guests with memory > 2GB. (VM does not support it).
Problem:
See Symptom!
Solution:
Disable DIAG for 64 bit. Then automatically the ECKD discipline is used by the dasd driver.
Problem-ID:
n/a
Note:
applicable for 64-bit Linux, only
Description:
Address space switching instruction in user space does not fault.
Symptom:
System crash due to cpus entering an endless program check loop.
Problem:
A non-priviledged instruction which can change the primary space origin is not fenched correctly.
Solution:
Set control register 5 to some value unequal to zero.
Problem-ID:
2893
Description:
dasd: Unable to reserve a device.
Symptom:
Reserve / Release leads to an I/O error.
Problem:
Reserve CP returns with subchannel status "incorrect length" (seems that new microcode checks length).
Solution:
Set correct length counter in CP.
Problem-ID:
2926
Description:
dasd: Problems when echoing invalid devno to /proc/dasd/devices.
Symptom:
Linux hangs when non-existing device is 'set off'.
Problem:
The spinlock was not released in error path.
Solution:
Release the spinlock.
Problem-ID:
2927
Description:
/proc/cio_ignore parsing.
Symptom:
Piping various combinations of device ranges and device numbers to /proc/cio_ignore leads to "illegal operation" or "Trying to vfree() bad address".
Problem:
Parser called from /proc/cio_ignore didn't work properly.
Solution:
Backport working /proc/cio_ignore parser from 2.5.
Problem-ID:
2934
Description:
Endless error recovery when trying to open an initiator port.
Symptom:
Lots of "Temporary port identifier (handle) not valid" messages.
Problem:
When trying to open an initiator port, the FCP microcode returned erroneously a port handle of 0. Using this port handle to open a LUN will result in port identifier not valid messages from microcode and trigger endless error recovery.
Solution:
Change zfcp error recovery to be able to handle changed FCP microcode return value.
Problem-ID:
3015
Description:
CTC: System hang on shutdown of remote OS/390.
Symptom:
Shutting down a remotely connected OS/390 system causes a system hang.
Problem:
Receiving garbage data from remote was not properly handled.
Solution:
Added additional validation of received data.
Problem-ID:
2314
Description:
Clearing of .bss section.
Symptom:
Kernel compiled with gcc 3.3 doesn't work.
Problem:
gcc 3.3 puts global variables with an initial value of zero to the .bss section. gcc < 3.3 puts these variables to the .data section. This makes a difference because the clearing of the .bss section is done after the store of the detected memory size to memory_size.
Solution:
Move clearing of the .bss section before the memory detection.
Problem-ID:
3135
Description:
Warning machine checks disabled.
Symptom:
System does not shutdown on warning machine check.
Problem:
The ctl_set_bit call to enable the warnings machine checks in control register 14 is always removed by the preprocessor because of a typo in an #ifdef.
Solution:
Fix the typo.
Problem-ID:
3136
Description:
Fixed-point divide exception in boot process.
Symptom:
Kernel crashes with a fixed-point device exception.
Problem:
The clock comparator interrupt is enabled before the clock comparator is set to its initial value. If the system is started without doing a system clear first, the clock comparator may still have an old value. The clock comparator can then interrupt too early.
Solution:
Initialise clock comparator first, then enable the clock comparator interrupt.
Problem-ID:
3137
Description:
Syscall macros and gcc 3.3.
Symptom:
Errors when compiling the kernel with gcc 3.3.
Problem:
The gcc 3.3 complains if you have a register in the clobber list that is also give as the location for one of the parameters.
Solution:
Fix clobber list and optimize inline assemblies.
Problem-ID:
3135
Description:
31 bit emulation of read, write, pread and pwrite.
Symptom:
Return codes for invalid parameters are wrong.
Problem:
The parameter checks for the read, write, pread and pwrite system calls have to check with the 32 bit equivalents of the types for count, poshi and poslo.
Solution:
Correct parameter checks in the emulation layer.
Problem-ID:
3138
Note:
applicable for 64-bit Linux, only
Description:
31 bit emulation ioctls.
Symptom:
31 bit programs using certain ioctls don't work when run under a 64 bit kernel.
Problem:
The emulation for the ioctls TCSBRKP, SIOCATMARK, RAW_SETBIND and RAW_GETBIND is missing. Program calling these ioctls get -EINVAL.
Solution:
Add missing ioctls to 31 bit emulation layer.
Problem-ID:
3138
Note:
applicable for 64-bit Linux, only
Description:
Compiling with gcc 3.3
Symptom:
Errors when compiling the dasd driver with gcc 3.3.
Problem:
The gcc 3.3 complains about the type "__u16 short".
Solution:
Replace "__u16 short" with __u16.
Problem-ID:
3135
Description:
chandev configuration
Symptom:
Argument errors when writing to /proc/chandev.
Problem:
The parsing of the auto_msck and del_auto_msck verbs is broken because of missing breaks in a switch statement.
Solution:
Add breaks.
Problem-ID:
3139
Description:
Many iucv devices.
Symptom:
Deadlock when starting more than 160 iucv devices.
Problem:
iucv_connect allocates an iparml_control structure to do the iucv connect. Between the allocation and the release of the structure an iucv_setmask is done which needs a iparml_control element too. If 160 iucv connection are started simultaneously all iparml_control structures are allocated and iucv_setmask loops indefinitly in grab_param.
Solution:
Release iparml_control structure immediatly after connect.
Problem-ID:
3140
Description:
Module loader.
Symptom:
Module load fails with error messages "init_module: changed module name ...".
Problem:
There are two problem in the kernel module code. 1) A size-check in sys_create_module is off by one byte. 2) sys_init_module checks the module name using a buffer that might have been overwritten. This happens if the struct module used by insmod is larger than the one used by the kernel (e.g. modutils with the gcov patch).
Solution:
Correct the two checks.
Problem-ID:
3141
Description:
noop elevator
Symptom:
Performance improvement.
Problem:
The dasd driver shouldn't use an elevator algorithm because the emulation of a dasd devices in the storage subsystems removes any potential for disk head optimization.
Solution:
Enable the no-op elevator.
Problem-ID:
3142
Description:
vmalloc with user specified length.
Symptom:
Error message "kernel BUG at vmalloc.c"
Problem:
cio_ignore_proc_write calls vmalloc with an arbitrary user specified length. If the user passes a value that exceeds the memory size a BUG() is triggered in vmalloc.c.
Solution:
Limit user specified length to 64K.
Problem-ID:
3143
Description:
memory management: dirty bit clearing.
Symptom:
I/O errors on read only disks.
Problem:
The dirty bit for a new page needs to get set to zero. So far this is done in mk_pte/set_pte. The call to mk_pte for the first user of a page sets a bit in the pte that causes set_pte to clear the dirty bit. This is a race condition if two processes want to access the same page simultaneously.
Solution:
Move dirty bit clearing from mk_pte() to SetPageUptodate().
Problem-ID:
3144

Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence:

linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)
+ linux-2.4.19-s390-2-may2002.diff (IBM)
+ linux-2.4.19-s390-3-may2002.diff (IBM)
+ linux-2.4.19-s390-4-may2002.diff (IBM)
+ linux-2.4.19-s390-5-may2002.diff (IBM)
+ linux-2.4.19-s390-6-may2002.diff (IBM)


Note: If On-demand timer is required, apply as last patch: + linux-2.4.19-timer-2-may2002.diff (IBM)

On-demand timer patch kernel 2.4.19 ("May 2002", 2003-06-13)

linux-2.4.19-timer-2-may2002.tar.gz MD5 recommended (2003-06-13)

On demand timer patch:

Contains a patch for the linux kernel 2.4.19 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior.

To create the complete kernel sources, apply all IBM kernel 2.4.19 patches on top of linux-2.4.19.tar.gz (see www.kernel.org) and as last patch + linux-2.4.19-timer-2-may2002.diff (IBM)


2003-06-13 OCO modules for the "May 2002 stream"

Description:
qeth memory referenced after module removal.
Symptom:
Oops after rmmod qeth
Problem-ID:
3064
Description:
osasnmpd failed with several SNMP replies from qeth
Symptom:
osasnmpd terminates with bad return code
Problem-ID:
2834
Description:
high percentage of dropped packets using UDP
Symptom:
qeth had high percentage of dropped UDP packets running on VM in V=V mode and also in V=R mode
Problem-ID:
2574
Description:
qeth sent wrong command when doing ioctl
Symptom:
When issueing SIOCDEVPRIVATE+2, a wrong command code was sent to the card
Problem-ID:
2545
Description:
improper multicast IP housekeeping.
Symptom:
Msg on interface shutdown, cannot delete multicast IP
Problem-ID:
2090
Description:
IFF_BROADCAST flag not set
Symptom:
ifconfig does not show broadcast-ability of devices
Problem-ID:
1833

2003-06-13 Utilities for the "May 2002 stream"

Description:
osasnmpd failes with multiple SNMP replies from qeth.
Symptom:
osasnmpd terminates with bad return code when several SNMP replies were received from qeth.
Problem:
osasnmpd can only handle one SNMP reply.
Solution:
Enable osasnmpd for multiple SNMP replies.
Problem-ID:
2834
Description:
osasnmpd does not build with net-snmp.
Symptom:
osasnmpd couldn't be build when net-snmp is used.
Problem:
Different libraries must be used depending on the snmp package version.
Solution:
Check which snmp package is installed and use the appropriate libraries to build it.
Problem-ID:
n/a

Note: s390-tools 1.1 are only tested with the kernel of "May 2002 stream".
Because of missing kernel-interfaces the following new s390-tools from 1.1 will definitely not work with the "August 2001 stream": osasnmpd and qetharp.


2003-04-16 kernel for the "May 2002 stream"

Description:
SCSI stack sets devices to blocked during ESS error injection tests
Symptom:
I/O on scsi devices became stalled when PPRC tests on ESS during FCP workload
Problem:
Devices are marked as blocked after QUEUE_FULL status code is return for the last scsi command, because no command is pending device cannot be unblocked anymore
Solution:
If QUEUE_FULL is returned for the last pending command of an adapter or device, the command will now be requeued, device resp. adapter is not marked as blocked
Problem-ID:
2259
Description:
dasd: discipline load order problem (with DIAG)
Symptom:
CMS RESERVED minidisks are accessed via ECKD discipline even if dasd_diag module was loaded.
Problem:
The discipline load order is responsible for the decision which discipline (ECKD or DIAG) is used to access CMS RESERVED minidisks.
Solution:
Load DIAG always to the beginning. This means that DIAG is used as soon as the module is loaded.
Problem-ID:
2256
Note:
applicable for 31-bit Linux, only
Description:
cio: Handling of not operational paths.
Symptom:
Devices for which a path is not operational are not recognized.
Problem:
Only deferred cc=3 was handled correcty; cc=3 on ssch() with a specified lpm was always treated as device not operational (this only happens on some models).
Solution:
Make SensePGID and SetPGID handle cc=3 on ssch() correctly (switch off path and not device).
Problem-ID:
2406
Description:
cio: oopses from debug feature.
Symptom:
Oops when looking at cio_msg dbf.
Problem:
s390_displayhex2, which was supposed to dump data into sprintf feature, didn't work.
Solution:
Replace s390_displayhex2 with directly dumping into cio_trace hex_ascii view.
Problem-ID:
2409
Description:
SCSI commands queue full causes kernel panic
Symptom:
in scsi_free() a panic occurred (Panic: Bad offset)
Problem:
field cmd in struct request is not reset from SPECIAL to original value for partially fulfilled requests
Solution:
set field cmd in struct request for partially fulfilled requests from SPECIAL to original value (READ or WRITE)
Problem-ID:
2260 (and refer to 1586)

Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence:

linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)
+ linux-2.4.19-s390-2-may2002.diff (IBM)
+ linux-2.4.19-s390-3-may2002.diff (IBM)
+ linux-2.4.19-s390-4-may2002.diff (IBM)
+ linux-2.4.19-s390-5-may2002.diff (IBM)


Note: If On-demand timer is required, apply as last patch:
+ linux-2.4.19-timer-1-may2002.diff (IBM)

2003-04-16 debug tools for the "May 2002 stream"

Symptom:
When debugging code compiled with gcc 3.x and optimization switched on, stack backtraces do not work.
Problem:
The gdb function prolog parser is confused by gcc 3.x generated code.
Solution:
Use DWARF-2 CFI data when present (gcc 3.3) to perform backtraces; for gcc 3.2 use an improved prolog parser.
Description:
The gdb commands print and call don't work properly on Linux for zSeries.
Symptom:
Several testcases for the gdb commands print and call of the gdb regression test suite fail on Linux for zSeries.
Problem:
The gdb source code does not implement the Linux for zSeries ELF ABI correctly
Solution:
Fix the ELF ABI implementation bugs.

Note: This patch changes gdb common code in a manner that might cause problems for other platforms. Use the debugger sources created by appyling this patch only to build a debugger for the s390 or s390x architectures.

To create the complete debugger sources, the following patches need to be applied in sequence:

gdb-5.3.tar.bz2 (GNU)
+ gdb-5.3-s390-may2002.diff (IBM)


2003-03-17 kernel for the "May 2002 stream"

Description:
Memory allocations not checked.
Symptom:
Possible oopses or BUG()s (not observed yet).
Problem:
Failure to check if an allocation was successful. Missing flags.
Solution:
Check if allocation worked; clean up if not. Add GFP_ATOMIC.
Problem-ID:
1892
Description:
zfcp: correction of /proc/scsi/zfcp/add_map permissions.
Symptom:
/proc/scsi/zfcp/add_map is wrongly marked as readable.
Problem:
Superfluous read permission bits on file creation.
Solution:
Discard read permission in bit mask.
Problem-ID:
1904
Description:
munmap frees pages still in use.
Symptom:
User process crashes and/or kernel oops in page_alloc.c.
Problem:
sys_munmap for a mapping near the end of the address space frees pages still in use. This is caused by an address calculation overflow in free_pgtables.
Solution:
Check for the overflow in free_pgtables.
Problem-ID:
1233
Description:
TLB flushes in multithreaded programs.
Symptom:
Program crashes.
Problem:
There is a race condition on the mm->cpu_vm_mask in __flush_tlb_mm. A freshly created thread does not increase mm->mm_count immediatly. It is increased when the new thread is scheduled on a processor. This opens a window between reading mm->mm_count and the reset of the mm->cpu_vm_mask in __flush_tlb_mm. If another processor schedules the freshly created thread after mm->mm_count has been read but before the mm->cpu_vm_mask has been reset a bit in cpu_vm_mask can get lost.
Solution:
Check mm->mm_users instead of mm->mm_count.
Problem-ID:
2004
Description:
DASD devices will not be set 'online' on slow/fast systems.
Symptom:
Root volume does not go online.
Problem:
Bottom half raises DASDD state before main path.
Solution:
Extend scope of irq_lock to include change of state.
Problem-ID:
1919
Description:
Fixes for low memory emergency IDAL handling.
Symptom:
Kernel might hang in low memory situations.
Problem:
Possible memory overwrite during emergency idal creation.
Solution:
Check if data fit into the available emergency IDAL page before writing them.
Problem-ID:
2098
Note:
applicable for 64-bit Linux, only
Description:
Correction of SCSI status QUEUE_FULL handling.
Symptom:
I/O errors on SCSI devices reporting QUEUE_FULL SCSI status.
Problem:
Mapped QUEUE_FULL to BUSY.
Solution:
Don't touch SCSI status.
Problem-ID:
2129
Description:
Boxed dasd not recognized.
Symptom:
A boxed dasd shows up as "unknown" instead of boxed.
Problem:
Checked for reserved status in pgid instead of tmp_pgid.
Solution:
Check for reserved status in tmp_pgid.
Problem-ID:
2141
Description:
Fixed channel program flag setting in XRC timestamping.
Symptom:
There might be 'command rejects' and other unpredictable behavior.
Problem:
Setting of the bit was overwriting all other bits in the flags.
Solution:
Set the bit in addition.
Problem-ID:
2162
Note:
applicable for 64-bit Linux, only
Description:
IFCC handling fixed.
Symptom:
IO errors after interface control check
Problem:
dasd interrupt handler does recognize an interface control check and triggers the error recovery mechanism but does not provide sense data (none available) which cannot be handled by the error recovery.
Solution:
Retry the request.
Problem-ID:
2167
Description:
Dead code removal.
Symptom:
None.
Problem:
None.
Solution:
Deletion of some obsolete and unused code.
Problem-ID:
2169
Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence:

linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)
+ linux-2.4.19-s390-2-may2002.diff (IBM)
+ linux-2.4.19-s390-3-may2002.diff (IBM)
+ linux-2.4.19-s390-4-may2002.diff (IBM)

Note: If On-demand timer is required, apply as last patch:
+ linux-2.4.19-timer-1-may2002.diff (IBM)

2003-02-20 Utilities for the "May 2002 stream"

Description:
Wrong VTOC bit for large DASD
Symptom:
The z/OS tool IEHLIST fails on a CDL formatted 3390/9 DASD with rc 8.
Problem:
The DS4DOSBT bit in the FMT4 DSCB of the VTOC was not set for large DASD.
Solution:
Set DS4VTOCI in the FMT4 DSCB initially to 0xa0 instead to 0x20. This indicates an invalid FMT5 DSCB and to use the FMT7 DSCB (extended free space management).
Problem-ID:
1861
Description:
zgetdump does not complain if filesystem is full.
Symptom:
It looks like dump has been copied successfully, but in fact it is not complete.
Problem:
Error code of write() was not checked.
Solution:
Check error code and write error message.
Problem-ID:
1946
Description:
Added shell script 'dbginfo.sh' (which collects information useful for debugging purposes) to s390-tools package.
Note: s390-tools 1.1 are only tested with the kernel of "May 2002 stream".

Because of missing kernel-interfaces the following new s390-tools from 1.1 will definitely not work with the "August 2001 stream": osasnmpd and qetharp.

2003-02-03 kernel for the "May 2002 stream"

Description:
Status pending handling.
Symptom:
Possibly all kinds of erratic behaviour.
Problem:
Upon encountering a cc=1 (status pending) condition when trying to start an I/O operation, Linux called the common interrupt handler to process the pending status, but couldn't call the registered interrupt handler. This could lead to interrupts not reported to the device driver which contained important information.
Solution:
Only process cc=1 internally when doing sync. I/O; otherwise return -EBUSY and process the interrupt as soon as interrupts are enabled again.
Problem-ID:
1844
Description:
Path not operational handling.
Symptom:
Paths which are fine appear as not operational.
Problem:
When Linux encountered a deferred condition code 3, or another not operational situation, it considered the path designated in the last path used mask (lpum) to be not operational and switched it off. However, (1) the lpum shows the last *successfully* used path, and (2) deferred cc 3 doesn't necessarily mean the path is not operational.
Solution:
Don't switch off paths for all devices, and switch off paths for a device only according to the path not operational mask (pnom).
Problem-ID:
1614
Description:
Zero sense data.
Symptom:
Device drivers get confused by non-existent sense data.
Problem:
Zero sense data was obtained by the common I/O layer, but the DEVSTAT_SENSE_AVAIL flag is set.
Solution:
Reset DEVSTAT_SENSE_AVAIL if sense_count is zero.
Problem-ID:
1615
Description:
Basic sense return code.
Symptom:
Zero sense data, lost interrupt information.
Problem:
The common I/O layer didn't check if starting the basic sense ccw was successful and therefore didn't realise the next incoming interrupt didn't signify the successful completion of the basic sense operation.
Solution:
Check return code of basic sense.
Problem-ID:
1616
Description:
Synchronous isc not correctly set.
Symptom:
Linux runs into deadlock with all cpus in enable_cpu_sync_isc.
Problem:
When msch() fails to set the sync isc in enable_cpu_sync_isc and encounters a status pending, s390_process_IRQ() is called while the syncio bit is set for the subchannel. I/O called from there assumes it is synchronous and has isc 5 exclusively, which is not true and can lead into another subchannel trying to get the sync_isc lock.
Solution:
(1) Set the syncio flag only after a successful msch().
(2) Reset sync_isc_count and give up the sync_isc lock if sync isc is not set.
Problem-ID:
1618
Description:
Backspacing more than 511 files doesn't work.
Symptom:
Issuing for example 'mt bsf 600' will give an error message.
Problem:
The fix for the count >511 problem missed the bsf command.
Solution:
Add the bsf command to the list of commands that can handle a count >511.
Problem-ID:
1625
Description:
zfcp: zfcp_abt* debug feature improvements.
Symptom:
n/a
Problem:
n/a
Solution:
Enhanced record written to the zfcp_abt* debug feature.
Problem-ID:
1846
Description:
oops during dyn. addition of FCP adapter.
Symptom:
The zfcp device driver causes an oops (null pointer dereference) when an adapter gets online (machine check handler, e.g. triggered by config on or the attach command under VM) and no adapter is configured to be used by zfcp.
Problem:
Unconditionally dereferencing a pointer which is NULL under the described circumstances.
Solution:
Check for NULL pointer added.
Problem-ID:
1752
Description:
Reopening connection to non-existent FC target port.
Symptom:
Message "zfcp: zfcp_erp_port_reopen: bug: No adapter specified (null pointer)" or kernel Oops (NULL pointer dereference).
Problem:
NULL pointer dereference in unsolicited status handler (type: port closed indication).
Solution:
Check for NULL pointer. (in order to improve readability and maintainability some code has been cleaned up in doing so: unsolicited status handling, port closed indication).
Problem-ID:
1780
Description:
Improved traces for incoming ELS.
Symptom:
Console might be flooded by rather useless logs for incoming ELS (depending on logging level).
Problem:
Too much logging for incoming ELS via printk.
Solution:
Introduction of a debug feature area for incoming ELS, cleanup of printk logging for incoming ELS (in order to improve readability and maintainability some code has been cleaned up in doing so: handling of incoming ELS, generation of debug feature areas).
Problem-ID:
1847
Description:
Blocksize checking in DASD device driver.
Symptom:
Possible device- or system-hang.
Problem:
Request with invalid blocksize leads to BUG.
Solution:
Post such request with I/O-error and continue processing.
Problem-ID:
1633
Description:
Fixes for ESS DASD device support.
Symptom:
Various effects (from "not visible for user" up to "system hang").
Problem:
Error recovery problems in ESS DASD specific scenarios.
Solution:
Enhanced and fixed various ERP scenarios.
Problem-ID:
1838
Description:
Kernel Build fails when CONFIG_Z90CRYPT is selected instead of CONFIG_Z90CRYPT_MODULE.
Symptom:
Compile of z90main.c fails.
Problem:
The variable __this_module has no meaning unless the compile flag MODULE is defined.
Solution:
Surround the code containing __this_module with #ifdef MODULE ... #endif.
Problem-ID:
1836
Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)
+ linux-2.4.19-s390-2-may2002.diff (IBM)
+ linux-2.4.19-s390-3-may2002.diff (IBM)

2003-02-03 Utilities for the "May 2002 stream"

Description:
fdasd: "free track" handling broken.
Symptom:
Adding a partition to an already full partitioned disk resulted in a BUG message and fdasd exits.
Problem:
A return code was not checked.
Solution:
Check the corresponding return code.
Problem-ID:
1799
Note: s390-tools 1.1 are only tested with the kernel of "May 2002 stream".

Because of missing kernel-interfaces the following new s390-tools from 1.1 will definitely not work with the "August 2001 stream": osasnmpd, qetharp, tape_display.

2002-12-19 OCO modules for the "May 2002 stream"

Description:
Re-enable OSA features like broadcast after cable pull.
Symptom:
Broadcast doesn't work on OSD devices after cable pull.
Description:
Fix MAC decoding problem for VM Guest LAN interfaces (needs PTF UM30652, available for z/VM 4.3.0).
Symptom:
MAC address could not be determined for VM Guest LAN interfaces.
Description:
Removed message "adapter is using anycast or nocast. Using unicast instead."
Symptom:
A lot of messages "adapter is using anycast or nocast. Using unicast instead." showing up, possibly jamming the console.
Description:
Fix high load in many-to-one communication scenarios.
Symptom:
When multiple guests send traffic to one destination under VM LAN, the Linux load goes to 100%

2002-11-25 kernel for the "May 2002 stream"

Description:
Kernel: ctc recovery.
Symptom:
Ctc connection doesn't come up again after a peer reset.
Problem:
After a peer reset the automatic ctc restart sometimes ends with an i/o error.
Solution:
Add a timer that restarts the ctc setup after i/o errors.
Description:
Kernel: TLBs not flushed under heavy swapping.
Symptom:
Random memory corruption leading to program crashes or wrong data.
Problem:
The __flush_tlb_mm function sets the cpu_vm_mask to the current cpu if it does a global flush. This is wrong in the case that the flush is done for a different mm than the current one for the cpu. The next flush can fail to remove the tlb which another cpu created for this mm.
Solution:
Reset cpu_vm_mask to the current cpu only if the mm is the active mm for this cpu and the cpu is the exclusive user for the mm.
Description:
Kernel: forgotten dirty bits.
Symptom:
Random crashes/data losses on a system with the ul-kernel.
Problem:
One optimization in the ul-kernel uses pte_mkwrite to make an exclusive page immeditalty writeable after the page has been swapped back into the storage and the vm area is writeable. pte_mkwrite fails to remove the _PAGE_ISCLEAN bit. Since the page is writeable the _PAGE_ISCLEAN is never removed and any writes to the page can get lost under memory pressure.
Solution:
Remove the _PAGE_ISCLEAN bit in pte_mkwrite.
Note:
On a vanilla kernel this problem does NOT show up since the pte_mkwrite is always used in combination with pte_mkdirty.
Description:
Kernel: dynamic attach of dasd device causes panic.
Symptom:
Kernel panic after dynamic device attachment ('echo add device')
Problem:
If an interrupt appeared during device bringup, process_queues accessed the already existing but not initialized request_queue structure.
Solution:
Access the request_queue only if it was fully initialized.
Description:
Kernel: reserve/release of dasd device hangs.
Symptom:
Reserve/release hangs if device was unconditional reserved by someone else.
Problem:
Reserve/release request got a busy interrupt and the resulting ERP tried to restart the request. After the timeout expired, the reserve/release request was cleared, but the ERP request was still pending.
Solution:
Clear the possible ERP requests together with the original request.
Description:
Kernel: improved traces for aborted SCSI commands
Symptom:
n/a
Problem:
Insufficient traces for timeout conditions and SCSI command aborts in the zfcp driver.
Solution:
Added debug feature entry for tracing of SCSI command aborts (/proc/s390dbf/zfcp_abt<devno>).
Description:
Kernel: removing some zfcp debugging messages.
Symptom:
The zfcp driver posts some debugging messages even if configured to be silent.
Problem:
Wrong logging level applied to some messages.
Solution:
Corrected logging level of those messages.
Description:
Kernel: trace level confusion of zfcp debug feature entries.
Symptom:
Unexpected verbosity of /proc/s390dbf/zfcp_cmd<devno>/hex_ascii.
Problem:
Instead of setting the trace level for the zfcp_cmd<devno> dbf the trace level of zfcp_req<devno> was reset.
Solution:
Set trace level of the intended dbf (zfcp_cmd<devno>) instead of the wrong one (zfcp_req<devno>)
Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence: linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)
+ linux-2.4.19-s390-2-may2002.diff (IBM)

2002-10-24 kernel for the "May 2002 stream"

Description:
Kernel: crypto operation exceptions cause kernel oops.
Symptom:
Kernel oops message.
Problem:
The program check handler uses a program check table with 128 entries to call the appropriate function to handle a program check. The code did not mask the lower 7 bits before indexing the table but the crypto operation exception has program check code 0x119. The memory after the program check table that is indexed by 0x119 contains zeroes and the program check handler branches to zero.
Solution:
Mask lower 7 bits of program check code before indexing the program check table.
Description:
Kernel: problem in termination of /linuxrc.
Symptom:
After the end of the execution of /linuxrc the systen hangs with 100% cpu.
Problem:
The kernel thread handle_initrd forks another kernel thread for the execution of /linuxrc and then waits for its end with wait(). handle_initrd is called with access register 4 pointing to user space (set_fs(USER_DS)). The store of the exit status of /linuxrc in the wait system call is done with put_user(). Since access register 4 points to user space but a kernel process does not have a user space this causes a crash and an endless trap loop.
Solution:
Start the kernel with access register 4 pointing to the kernel space, correctly set the access register 4 for new processes in copy_thread and correctly restore access register 4 in chandev_read_conf.
Description:
Kernel: missing SIGURG check.
Symptom:
Process gets terminated if it gets a SIGURG signal and does not have a signal handler installed for SIGURG.
Problem:
A process without a signal handler for SIGURG is supposed to ignore the signal. A check for SIGURG was missing in the signal handler code.
Solution:
Add check to ignore SIGURG.
Description:
Kernel: crashes in copy_to_user.
Symptom:
Kernel oops message.
Problem:
The fixup routine if __copy_to_user that is called after an unresolvable fault of the mvcle instruction accesses the program check old psw and the translation exception address fields in the lowcore. But the program check handler may have already called schedule and another process may have overwritten this information.
Solution:
Don't rely on any information stored in the lowcore in the fixup routine of __copy_to_user.
Description:
Kernel: codepage conversion problem.
Symptom:
Input strings with certain length are not translated correctly.
Problem:
codepage_convert for strings with n*256+1 bytes only convert (n-1)*256+1 bytes because of an incorrect branch instruction.
Solution:
Correct branch instruction.
Description:
31 bit emulation: broken sys_recvmsg emulation.
Symptom:
ping doesn't work in 31 bit emu layer.
Problem:
Incoming and outgoing timestamps were not converted. Some sys32_recvmsg out parameters were not set.
Solution:
Timestamps are now converted. recvmsg has been partially restructured and out parameters are set.
Description:
Dasd: i/o controls work for non-dasd devices.
Symptom:
On an unpartitioned SCSI disk, a partition is available.
Problem:
scsi disk gets recognized by IBM partition code.
Solution:
Deny dasd ioctls for non-dasd-devices with correct return code
Description:
Dasd: reserve/release hangs.
Symptom:
Kernel hang during Dasd Reserve/Release in parallel with massive IO
Problem:
The same timer variable was used for different activities.
Solution:
Fixed timer usage (race condition).
Description:
SCSI: Improved HBA-driver-internal retry.
Symptom:
Tape write or read requests may have been retried at the wrong position.
Problem:
zfcp used the same retry count adjustments for tapes and disks allowing 5 retries in each case. No retries must be allowed for character devices.
Solution:
Retry count is modified in such a way that it only allows the maximum original retries to happen.
Description:
Kernel: Parameter parsing.
Symptom:
Kernel panic in dasd_cleanup / dasd_discipline_del.
Problem:
A tab in the kernel parameters confuses the parsig function of the dasd driver. The initialization of the dasd driver fails and in the cleanup processing the not initialized list head of a dasd discipline leads to an oops.
Solution:
Statically initialize list heads in the dasd disciplines.
Description:
Dasd: /proc interface.
Symptom:
Some names in /proc/dasd/devices and in the boot messages are missing.
Problem:
Processing of the dasd major list in dasd_device_name is incorrect and fails for the last dynamically added major.
Solution:
Correct list processing in dasd_device_name.
Description:
Dasd: driver hijacking major 0.
Symptom:
dasd driver uses major 0 for dasd devices.
Problem:
The static initialization of dasd_major_info element 0 does not contain initial values for the gendisk structure. Since it is not specified all field are set to zero. Each full traversal of the dasd_major_info list with list_for_each accesses this element.
Solution:
Remove static initializer from dasd_major_info and do proper list_for_each operations.
Description:
Dasd: race condition for timer variable in dasd driver.
Symptom:
Kernel hang during dasd reserve/release in parallel with massive IO.
Problem:
The same timer variable was used for different activities.
Solution:
Use a seperate timer variable for each activity.
Description:
Dasd: diagnose discipline.
Symptom:
Endless loop in dasd driver.
Problem:
Diagnose dasd discipline enters an endless recovery loop if the buffer is above the 2GB line.
Solution:
Fix return code of diag250() in case of a program check to terminate the recovery.
Description:
Xpram: 64 bit xpram driver.
Symptom:
64 bit system only see odd numbered xpram devices.
Problem:
The sizes array of the xpram driver is declared as 'unsigned long' but the block device layer accesses the array as 'unsigned int'.
Solution:
Use the correct type for the sizes array.
Description:
Common i/o layer: devices not detected.
Symptom:
Devices for which the first path is not available show up with cu type 0000/00.
Problem:
Linux didn't check if a path was available before doing SensePGID to determine the locking state of a device and received -ENODEV.
Solution:
Only try SensePGID for available paths.
Description:
Common i/o layer: diag 210 calls from modules.
Symptom:
Modules using diag 210 crash if they are loaded above 2GB.
Problem:
The inline version of the diag 210 function is included to the program code of modules. diag 210 calls have to be done in 31 bit addressing mode. If the module code is loaded above 2GB the switch to 31 bit mode make the program code unaccessible. This causes a kernel oops.
Solution:
Move diag 210 code to the kernel image to be able to switch to 31 bit addressing without loosing code accessibility.
Description:
Common i/o layer: chpids proc interface.
Symptom:
/proc/chpids display incorrect.
Problem:
A check if a chpid is available is missing.
Solution:
Check with path pim/pam/pom whether a chpid is available. In addition reset chpid status on path failures.
Description:
Common i/o layer: path link incidents.
Symptom:
Dasd no longer accessible after link incident for one of several paths.
Problem:
Deadlock in SetPGID called from link incident handler.
Solution:
Don't do unnecessary path grouping after link incident
Description:
FCP: Debug areas in zfcp driver.
Symptom:
Error message "__alloc_pages: 6-order allocation failed" trying to add an adapter.
Problem:
The zfcp tries to allocate a debug area with 64 pages. This failes if the memory is fragmented enough and the adapter inialization fails.
Solution:
Reduce debug feature page allocation of zfcp to order 1.
Description:
FCP: Debugging message appears unconditionaly on console.
Symptom:
For each status read request a message is written to console.
Problem:
Wrong logging level for particular message.
Solution:
Adjusted logging level of that message.
Description:
FCP: Unsolicited status mechanism is dead.
Symptom:
The zfcp driver is unable to receive unsolicited status, like incoming ELS and local link conditions.
Problem:
A missing initialisation caused a loop to be exited immediately without executing statements (sending status read) within the loop.
Solution:
Variable eliminated and thus need for initialisation removed, use correct constant instead.
Description:
FCP: Problem determination after serious I/O errors.
Symptom:
Host_byte!=0 frequently reported to upper layer SCSI drivers, e.g. SCSI tape drivers.
Problem:
Microcode problems which caused SCSI command failure, details about conditions were hard to come by.
Solution:
Added another debug feature entry to track SCSI command failures and (hardware) conditions being likely connected to these failures.
Description:
FCP: race condidtion regarding access to scsi_cmnd
Symptom:
unknown, not hit in test
Problem:
The zfcp driver accessed scsi_cmnd after returning it to the SCSI stack mid-layer by calling the scsi_done routine
Solution:
Reordered statements in zfcp driver to avoid access to scsi_cmnd after calling scsi_done
Description:
FCP: Error handling threads (zfcp_erp*) sleep uninterruptibly.
Symptom:
Threads are accounted to system load.
Problem:
Routine down() is called.
Solution:
Use down_interruptible() and adjust signal handling to prevent signals to kill interrupt handler.
Everybody should apply this patch.

To create the complete linux-2.4.19 kernel sources, the following patches need to be applied in sequence:
linux-2.4.19.tar.gz (see www.kernel.org)
+ linux-2.4.19-s390-may2002.diff (IBM)
+ linux-2.4.19-s390-1-may2002.diff (IBM)

2002-10-24 tool-chain for the "May 2002 stream"

Description:
Bi-arch compiles.
Symptom:
31 bit executables build with a bi-arch compiler on a 64 bit system crash.
Problem:
The assembler option -m31 sets the s390_arch_size variable to 31 instead of 32. This causes tc_gen_reloc to emit a wrong relocation for the symbol _GLOBAL_OFFSET_TABLE_.
Solution:
Set s390_arch_size to 32 if option -m31 is given.
Everybody should apply this patch. To create the complete linux kernel sources, the following patches need to be applied in sequence: binutils-2.12.90.0.15.tar.gz (see www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.12.90.0.15-s390-may2002.diff (IBM)

2002-10-24 utilities for the "May 2002 stream"


2002-10-24 debug tools for the "May 2002 stream"

Description:
Wrong system call number derivation.
Symptom:
Errors like e.g. segmentation faults.
Problem:
strace doesn't expect that an SVC instruction gets executed via an EXECUTE instruction. If this happens, strace derives the system call number out of an EXECUTE opcode instead of an SVC opcode. This results in a wrong system call number, which will be used for further computation.
Solution:
Take into account that SVC instructions get executed via EXECUTE.
Everybody should apply this patch.

To create the complete strace sources, the following patches need to be applied in sequence:

Everybody should apply this patch. strace_4.4-1.tar.gz (see www.wi.leidenuniv.nl/~wichert/strace/)
+ strace-4.4-1-s390-may2002.diff (IBM)
+ strace-4.4-1-s390-1-may2002.diff (IBM)

2002-09-13 kernel for the "May 2002 stream"


2002-09-13 OCO modules for the "May 2002 stream"


2002-09-13 tool-chain for the "May 2002 stream"

Description:
pread/pwrite do not conform to the single unix specification.
Symptom:
A pread/pwrite with a negative offset is accepted.
Problem:
The pread/pwrite system calls take a 64 bit offset. The signed 32 bit offset of the pread/write library call is zero-extended to 64 bit instead of sign extended.
Solution:
Replace the zero extention with a sign extention.
Description:
Wrong wordsize.h header is installed.
Symptom:
Compiling with -m31 on a 64 bit system results in malfunctional binaries.
Problem:
The wordsize.h header from sysdeps/wordsize-64 is used instead of the s390 version from sysdeps/s390/bits.
Solution:
Move wordsize.h from sysdeps/s390/bits to sysdeps/s390/s390-32/bits and sysdeps/s390/s390-64/bits to make the install scripts pick up the correct version.
Everybody should apply this patch.

To create the complete glibc sources, the following patches need to be applied in sequence:

glibc-2.2.5.tar.gz (see www.gnu.org/software/libc)
+ glibc-linuxthreads-2.2.5.tar.gz (see www.gnu.org/software/libc)
+ glibc-2.2.5-s390-may2002.diff (IBM)
+ glibc-2.2.5-s390-1-may2002.diff (IBM)
+ glibc-2.2.5-s390-2-may2002.diff (IBM)
+ glibc-2.2.5-s390-3-may2002.diff (IBM)

2002-09-13 debug tools for the "May 2002 stream"

strace_4.4-1.tar.gz (see www.wi.leidenuniv.nl/~wichert/strace/)
+ strace-4.4-1-s390-may2002.diff (IBM)

2002-08-16 tool chain for the "May 2002 stream"

Description:
Adaptations for gcc 3.1.1 and later
Symptom:
Error messages when trying to build glibc with gcc 3.1.1 or later
Problem:
Starting with gcc 3.1.1, some constructs glibc was using are no longer supported. These are:
Solution:
Change glibc code to avoid these constructs.
Description:
Incompatibility with old binaries
Symptom:
Error messages (e.g. undefined symbol __divdi2) when using certain binaries built with gcc 2.95 together with a glibc built with gcc 3.x
Problem:
Some helper routines formerly defined in glibc are now defined in libgcc. Old binaries will still expect them in glibc, however.
Solution:
Provide copies of the helper routines in glibc (only for use with old binaries).
Everybody should apply this patch.

To create the complete glibc sources, the following patches need to be applied in sequence:

glibc-2.2.5.tar.gz (see www.gnu.org/software/libc)
+ glibc-linuxthreads-2.2.5.tar.gz (see www.gnu.org/software/libc)
+ glibc-2.2.5-s390-may2002.diff (IBM)
+ glibc-2.2.5-s390-1-may2002.diff (IBM)
+ glibc-2.2.5-s390-2-may2002.diff (IBM)

2002-08-08 utilities for the "May 2002 stream"


2002-07-31 tool chain for the "May 2002 stream"


2002-07-31 debug tools for the "May 2002 stream"

Description:
The gdb commands print and call don't work properly on Linux for zSeries.
Symptom:
Several testcases for the gdb commands print and call of the gdb regression test suite fail on Linux for zSeries.
Problem:
The gdb source code does not implement the Linux for zSeries ELF ABI correctly
Solution:
Fix the ELF ABI implementation bugs.

To create the complete debugger sources, the following patches need to be applied in sequence:

gdb-5.2.1.tar.bz2 (see sourceware.cygnus.com/gdb)
+ gdb-5.2.1-s390-may2002.diff (IBM)


2002-05-31 tool chain for the "May 2002 stream"


2002-05-31 utilities for the "May 2002 stream"

Contact the IBM team

If you want to contact the Linux on System z IBM team refer to the Contact the Linux on System z IBM team page.