Menu

#54 iBCS-3.3

open
nobody
None
5
2014-08-04
2007-04-08
Alex
No

Changes from previous version:

1) In iBCS-3.2 "late ABI detection" of ELF binaries on 2.6.20+ did not work
without "binfmt_coff.ko" loaded - now it does;

2) It is now possible to define personality on individual basis via the "PERFLAGS" file.
Reasons for the change:
a) "COFF clues" or "ELF marks" are sometimes insufficient to determine correct personality;
b) "ELF" executables called from a non-zero Domain will incorrectly remain in that Domain
- UW7 module will execute in Domain 3 (instead of 14) if called from an OSR5 application.

3) New Configuration Parameter "ABI_SIGRETURN".
If set to "Y" (default in iBCS-3.3+) an extra code segment will be allocated per thread
in order to restore application's context after returning form all signal handling routines.
Reason for the change:
default "vsyscall sigreturn" fails for COFF modules in kernels 2.6.18+.

4) On RHEL5 and FC6 first "sys_brk" call from an ELF module compiled on SVR4 or OSR5 did nothing
and was usually followed by "Segmentation fault" - this has been fixed.

5) OSR5 "Rewind Directory" is now recognised - on previous versions of iBCS/ABI SCO "getcwd"
library call would occasionally return ENOSYS.

6) New Inode and Device mapping functionality was implemented.
Details are in "INODEMAP" and "DEVICEMAP" files as well as in the post below:
http://sourceforge.net/forum/message.php?msg_id=4249361

.

Discussion

  • Alex

    Alex - 2007-04-08

    iBCS-3.3

     
  • beagleHunter

    beagleHunter - 2007-05-02

    Logged In: YES
    user_id=1748061
    Originator: NO

    Hi, i downloaded the file but when i unpacked it it gave an error and exited. It seems to still work fine but am a bit concerned about it. Has anyone else had this?

    thanks

     
  • Mauro Tassinari

    Mauro Tassinari - 2007-05-03

    Logged In: YES
    user_id=80373
    Originator: NO

    Hi Alex,

    I gave a try at ibcs3.3 on 2.6.21.1 (stable) tonight, and got the following crash executing:

    root@test:/usr/ads# file ./ads/bcheck
    ./ads/bcheck: 80386 COFF executable

    here the syslog:

    May 3 00:21:00 test kernel: general protection fault: 0000 [#1]
    May 3 00:21:00 test kernel: SMP
    May 3 00:21:00 test kernel: Modules linked in: abi_wyse abi_uw7 abi_solaris abi_isc abi_ibcs abi_sco abi_cxenix abi_svr4 binfmt_xout binfmt_coff
    abi_lcall abi_util snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss nfsd exportfs lockd sunrpc capability commonca
    p ipv6 pcmcia firmware_class yenta_socket rsrc_nonstatic pcmcia_core lp psmouse pl2303 usbserial i2c_i801 sg i2c_core evdev iTCO_wdt intel_agp co
    m20020_pci agpgart com20020 sky2 arcnet shpchp snd_ens1371 gameport ata_generic pci_hotplug snd_rawmidi snd_seq_device snd_ac97_codec ac97_bus pa
    rport_pc parport snd_hda_intel pcspkr snd_hda_codec snd_pcm snd_timer snd soundcore snd_page_alloc ehci_hcd serio_raw uhci_hcd usbcore rtc_cmos r
    tc_core rtc_lib
    May 3 00:21:00 test kernel: CPU: 0
    May 3 00:21:00 test kernel: EIP: 0060:[<c016715a>] Not tainted VLI
    May 3 00:21:00 test kernel: EFLAGS: 00010046 (2.6.21.1-duo #1)
    May 3 00:21:00 test kernel: EIP is at kmem_cache_alloc+0x1a/0x70
    May 3 00:21:00 test kernel: eax: 00000000 ebx: 00000246 ecx: 00000000 edx: ef356000
    May 3 00:21:00 test kernel: esi: 000000d0 edi: c190ba40 ebp: f8cb0530 esp: ef357e3c
    May 3 00:21:00 test kernel: ds: 007b es: 007b fs: 0000 gs: 00d8 ss: 0068
    May 3 00:21:00 test kernel: Process bcheck (pid: 3326, ti=ef356000 task=ef1f5a70 task.ti=ef356000)
    May 3 00:21:00 test kernel: Stack: 00000000 fffffff4 00402680 c0170d84 00000000 ffffff9c 00000000 c01694ee
    May 3 00:21:00 test kernel: c014efd1 00000000 00000001 00000000 00000010 00000000 f8cb0530 c01695cc
    May 3 00:21:00 test kernel: bfffe868 f8c30d5c 00402680 00000000 bfffe868 0000001a 00000000 00402680
    May 3 00:21:00 test kernel: Call Trace:
    May 3 00:21:00 test kernel: [<c0170d84>] getname+0x24/0x60
    May 3 00:21:00 test kernel: [<c01694ee>] do_sys_open+0x1e/0xe0
    May 3 00:21:00 test kernel: [<c014efd1>] buffered_rmqueue+0x91/0x130
    May 3 00:21:00 test kernel: [<c01695cc>] sys_open+0x1c/0x20
    May 3 00:21:00 test kernel: [<f8c30d5c>] sys_call+0x6c/0x70 [abi_lcall]
    May 3 00:21:00 test kernel: [<f8cbb209>] svr4_open+0x59/0x240 [abi_svr4]
    May 3 00:21:00 test kernel: [<c0158f3e>] do_no_page+0x19e/0x310
    May 3 00:21:00 test kernel: [<c014b8e0>] filemap_nopage+0x0/0x3a0
    May 3 00:21:00 test kernel: [<c015944a>] __handle_mm_fault+0x20a/0x2a0
    May 3 00:21:00 test kernel: [<f8c3003a>] get_args+0x3a/0x60 [abi_lcall]
    May 3 00:21:00 test kernel: [<f8cbb1b0>] svr4_open+0x0/0x240 [abi_svr4]
    May 3 00:21:00 test kernel: [<f8c3048f>] lcall7_dispatch+0x3ef/0x490 [abi_lcall]
    May 3 00:21:00 test kernel: [<c01181fe>] do_page_fault+0x3ee/0x570
    May 3 00:21:00 test kernel: [<f8c30cc3>] do_lcall+0x44/0x55 [abi_lcall]
    May 3 00:21:00 test kernel: [<c0370000>] schedule_timeout+0x0/0x90
    May 3 00:21:00 test kernel: =======================
    May 3 00:21:00 test kernel: Code: e1 03 74 02 f3 a4 8b 44 24 0c 01 45 00 eb 8f 89 f6 83 ec 0c f6 c2 10 89 74 24 04 89 d6 89 7c 24 08 89 c7 89 1c
    24 75 39 9c 5b fa <64> a1 04 00 00 00 8b 14 87 8b 02 85 c0 74 2e c7 42 0c 01 00 00
    May 3 00:21:00 test kernel: EIP: [<c016715a>] kmem_cache_alloc+0x1a/0x70 SS:ESP 0068:ef357e3c

    while on 2.6.20.x ibcs3.3 it works fine and outputs:

    BCHECK C-ISAM B-tree Checker version 1.07
    Copyright (C) 1981-1989 Informix Software, Inc.

    usage: bcheck -ilnyqs cisamfiles ...
    -i check index file only
    -l list entries in b-trees
    -n answer no to all questions
    -y answer yes to all questions
    -q no program header
    -s resize the index file node size

    will provide any further info if needed.

    regards,

    Mauro

     
  • Alex

    Alex - 2007-05-03

    Logged In: YES
    user_id=1641112
    Originator: YES

    Hi Mauro,

    Kernel 2.6.21 is not supported yet.
    I've got ELF and COFF versions of "bcheck".
    I will download "Zenwalk Linux 4.6.1" and do some testing this week.

    Regards,
    Alex.

     
  • Alex

    Alex - 2007-05-03

    Patch for 2.6.21

     
  • Alex

    Alex - 2007-05-03

    Logged In: YES
    user_id=1641112
    Originator: YES

    Hi Mauro,
    Try the following:
    1) Uncompress KSL21.patch.gz into iBCS-3.3 directory;
    2) Type in "patch -p1 < KSL21.patch";
    3) "make";
    This worked for my version of "bcheck".
    Regards,
    Alex.

    File Added: KSL21.patch.gz

     
  • Mauro Tassinari

    Mauro Tassinari - 2007-05-03

    Logged In: YES
    user_id=80373
    Originator: NO

    Hi Alex,
    Tryed the patch right now.
    It seems to work fine, until now.
    entry.S is a ugly beast.
    Thank you for the impressive responsiveness.
    Regards,
    Mauro

     
  • FixXxeR

    FixXxeR - 2007-05-03

    Logged In: YES
    user_id=1073934
    Originator: NO

    Hi Alex.

    I tried to use IBCS3.3 under kernel 2.6.18.2 (vainilla)

    But I got this:

    In file included from /usr/src/abi/lcall/entry.S:1:
    include/asm/thread_info.h:51:29: error: asm/asm-offsets.h: No existe el fichero o el directorio
    make[3]: *** [/usr/src/abi/lcall/entry.o] Error 1
    make[2]: *** [/usr/src/abi/lcall] Error 2
    make[1]: *** [_module_/usr/src/abi] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.18.2'

    I fixed this with:
    cd /usr/src/linux-2.6.18.2
    touch include/asm/asm-offsets.h

    I don't why appears (and because anyone else commented about this).

    Regards.

     
  • Alex

    Alex - 2007-05-04

    Logged In: YES
    user_id=1641112
    Originator: YES

    Hi Anibal,
    If I were to use a Vanilla Kernel, I would "cd /usr/src/vanilla-2.6.18; make && make modules_install && make install".
    Then I would boot that kernel and run "make" in iBCS-3.3 directory - "asm-offsets.h" is not a part of "kernel/linux source" (but is of "kernel/linux headers"), it gets generated during the "build" process.
    Regards,
    Alex.

     
  • FixXxeR

    FixXxeR - 2007-05-04

    Logged In: YES
    user_id=1073934
    Originator: NO

    Ok Alex.

    The problem is because I use a Debian way to build the kernel:

    i.e:

    make-kpkg clean
    make menuconfig
    make-kpkg --revision=Custom.1 kernel_image

    So I get a debian package kernel-image-2.6.18.2_Custom.1_i386.deb

    But if I do that, the "asm-offsets.h" file is generated and deleted each time I rebuild the kernel. :(

    I know because I build the kernel first before I build the module IBCS3.3 and I always got that error.

    Regards.

     
  • Nobody/Anonymous

    Logged In: NO

    Ok Alex.

    The problem is because I use a Debian way to build the kernel:

    i.e:

    make-kpkg clean
    make menuconfig
    make-kpkg --revision=Custom.1 kernel_image

    So I get a debian package kernel-image-2.6.18.2_Custom.1_i386.deb

    But if I do that, the "asm-offsets.h" file is generated and deleted each time I rebuild the kernel. :(

    I know because I build the kernel first before I build the module IBCS3.3 and I always got that error.

    Regards.

     
  • Nobody/Anonymous

    Logged In: NO

    Hi all

    I have installed ibcs 3.3 on OpenSUse 10.2 (kernel 2.6.18.2-34), compiled it. loaded as module and use to run an old cobol (rm-cobol) application. Everithing works fine, but it is impossible to print from the application. I have tried lprng and cups and none of them receive anything from the program. Same cobol configuration works fine with linux-abi and eve with ibcs 2

    Any help?
    Thanks in advanced.
    jmanzano@aplinet.net

     
  • Nobody/Anonymous

    Logged In: NO

    Hi, Alex

    First of al, many thanks for your fast answer. Unfortunately i was out of office until today.

    This was solved. It is a very strange case. Nothing related to ibcs, sorry. When i move the data and application from one server to another thru scp, this fail. If i move thru fpt it works fine with cups or lprng. I have no idea what it means, but once it moved thru ftp all works fine.

    Kind Regards and a lot of thanks.
    jmanzano@aplinet.net

     
  • Nobody/Anonymous

    Logged In: NO

    Hi, Alex.

    I'm running progress databasse under openSUSE 10.2 and different kernel variants (stock 2.6.18, vanilla 2.6.20 & 2.6.21) + ibcs3.3

    Initially it seems to work really fine but every few minuts my progress applications stalls for some seconds and then continue (I've noticed this stalls occurs when pdflush is working / The rest of applications aren't affected).

    Any idea about if this is a related ibcs problem?

    Thanks for your nice work.
    Regards.
    miquel@acsat.net

     
  • Nobody/Anonymous

    Logged In: NO

    Hi Alex.

    I've compiled succesfully (KSL21 + KSL22 patched) ibcs-3.3 under vanilla 2.6.22 and under Ubuntu-2.6.22, but I'm not able to compile it under openSUSE-2.6.22 :-(

    This is the error:

    make -C /lib/modules/2.6.22.5-8-bigsmp/build M=/home/olaff/Desktop/abi modules
    make[1]: Entering directory `/usr/src/linux-2.6.22.5-8-obj/i386/bigsmp'
    make -C ../../../linux-2.6.22.5-8 O=../linux-2.6.22.5-8-obj/i386/bigsmp modules
    CC [M] /home/olaff/Desktop/abi/svr4/socksys.o
    In file included from /home/olaff/Desktop/abi/svr4/socksys.c:51:
    /home/olaff/Desktop/abi/svr4/../include/util/revalidate.h: In function ‘do_revalidate’:
    /home/olaff/Desktop/abi/svr4/../include/util/revalidate.h:30: warning: passing argument 2 of ‘notify_change’ from incompatible pointer type
    /home/olaff/Desktop/abi/svr4/../include/util/revalidate.h:30: error: too few arguments to function ‘notify_change’
    make[5]: *** [/home/olaff/Desktop/abi/svr4/socksys.o] Error 1
    make[4]: *** [/home/olaff/Desktop/abi/svr4] Error 2
    make[3]: *** [_module_/home/olaff/Desktop/abi] Error 2
    make[2]: *** [modules] Error 2
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.22.5-8-obj/i386/bigsmp'
    make: *** [all] Error 2

    Is there any known workaround?

     
  • Nobody/Anonymous

    Logged In: NO

    Finally I get ibcs_3_3 succesfully compiled with openSUSE 10.3 kernel, commenting line: "error = notify_change(dentry, &attr);" in include/util/revalidate.h. Now progress starts and, apparently, work fine :-)

    It seems error: too few arguments to function ‘notify_change’ is due to apparmor patches.

    Can I fix this problem in a better way?

    How can affect my workaround?

    Thanks.
    Miquel.

     
  • Nobody/Anonymous

    Logged In: NO

    From opensuse-kernel list:

    On Friday 07 September 2007 10:25, Miquel A. Noguera wrote:
    > Hi.
    >
    > When I try to compile:
    >
    > error = notify_change(dentry, &attr);
    >
    > under openSUSE kernel, it aborts with:
    >
    > error: too few arguments to function ‘notify_change'

    Well, that's because of the AppArmor patches; AppArmor requires an additional
    struct vfsmnt parameter.

    > (it compiles fine with vanilla or ubuntu kernels).
    >
    > Can you help me to get this line succesfully compiled in openSUSE kernel
    > too?

    I'm afraid that just getting the line to compile may not be enough. The
    appropriate fix depends on what your code is trying to do. I suggest that you
    check for similar uses of notify_change to get an idea what may be
    appropriate, and then maybe ask again including more information such as
    pointers to the code, a proposed patch, etc.

    Andreas

     
  • Alex

    Alex - 2007-09-09

    Logged In: YES
    user_id=1641112
    Originator: YES

    Hi Miquel,

    The "error = notify_change(dentry, NULL, &attr);" worked fine for my applications.

    Regards,
    Alex.

     
  • beagleHunter

    beagleHunter - 2007-10-23

    Logged In: YES
    user_id=1748061
    Originator: NO

    Hi,

    has anyone been able to run this on open suse 10.3? (64 bit edition)

    regards

     
  • Nobody/Anonymous

    Logged In: NO

    We are using IBCS 3.3 , running SCO Foxpro 2.6. and I works fine.
    But some times, once a week, the computer hangs after load abi_ldr.

    Version: Debian Etch 2.6.18-4-686 SMP, original.

    We test it on Fedora Core 6 with the same problem.

    In Fedora the error log says:

    BUG: SOFT LOCKUP DETECTES ON CPU#1!
    c04051db dump_race+0x69/0x1af
    show_trace_log_lvl+0x18/0x2c
    show_trace+oxf/0x11
    dump_stack+0x15/0x17
    softlockup_tick+0xad/0xc4
    update_process_times+0x39/0x5c
    smp_apic_timer_interrupt+0x5c/0x64
    apic_timer_interrupt+0x1f/0x24

    DWARF2 unwinder stuck at apic_timer_ionterrupt+0x1f/0x24
    leftover inexact backtrace

    e02d586c xout_load_binary+0x0/0x134 [binfmt_xout]
    memcmp+0x12/0x22
    abi_personality+0x55/0x7c [abi_lcall]
    __alloc_pages+0x6d/0x2aa
    xout_load_binary +0x21/0x134 [binfmt_xout]
    search_binary_handler+0xa4/0x260
    do_execve+0x158/0x1f5
    sys_execve+0x2f/0x4f
    syscall_call+0x7/0xb

    Any ideas ? Can you help us ?

    thank you
    hugo simon
    hwsimon@copetel.com.ar

     
  • Nobody/Anonymous

    Logged In: NO

    Baje la version IBCS.3.3 en Fedora 8.0, ahora como lo instalo, descomprimi en la carpeta /home/prueba pero no se que hacer, tengo cobol y necesito los abi como en redhat 8.0 que lo hago con INSMOD, pero ahora en FEDORA no se como hacerlo.

    Marcos

     
  • mlthati

    mlthati - 2014-08-04

    which is compatible version for rhel5.8 i.e 2.6-18-308 and let me know whether any file has to be modified to compile properly. I want run foxplus 2.1.2

     

    Last edit: mlthati 2014-08-04

Log in to post a comment.