[BACK]Return to README.dynamic CVS log [TXT][DIR] Up to [local] / sys / compat / osf1

Annotation of sys/compat/osf1/README.dynamic, Revision 1.1

1.1     ! nbrk        1: $OpenBSD: README.dynamic,v 1.5 2001/07/09 05:15:23 fgsch Exp $
        !             2: $NetBSD: README.dynamic,v 1.2 1999/04/27 06:39:49 cgd Exp $
        !             3:
        !             4: Dynamically linked programs are supported by NetBSD's Digital UNIX
        !             5: (formerly DEC OSF/1) emulation.  The OSF/1 dynamic linker scheme is
        !             6: described in fair detail in:
        !             7:
        !             8:        %A Larry W. Allen
        !             9:        %A Harminder G. Singh
        !            10:        %A Kevin G. Wallace
        !            11:        %A Melanie B. Weaver
        !            12:        %T Program Loading in OSF/1
        !            13:        %P 145-160
        !            14:        %I USENIX
        !            15:        %B USENIX Conference Proceedings
        !            16:        %D January 21-25, 1991
        !            17:        %C Dallas, TX
        !            18:        %W Open Software Foundation
        !            19:
        !            20: Additionally, the object file formats in use are described in the
        !            21: Digital UNIX _Assembly Language Programmer's Guide_ which can be
        !            22: found (among other places) on a version-specific page off of:
        !            23:
        !            24:        http://www.unix.digital.com/faqs/publications/pub_page/doc_list.html
        !            25:
        !            26: Finally, the actual representation of Auxiliary Vectors came from information
        !            27: in the Digital UNIX auxv.h header file.
        !            28:
        !            29: There are at least two potential issues with the implementation as it
        !            30: currently exists:
        !            31:
        !            32: 1. exec_with_loader() is not emulated.
        !            33:
        !            34:        Most uses of dynamically linked programs come through execve()
        !            35:        and use the default loader (/sbin/loader).  In Digital UNIX
        !            36:        (and OSF/1) you can also force a specific loader to always be
        !            37:        invoked to load an executable by using the exec_with_loader()
        !            38:        system call.  Few, if any, programs use this feature.
        !            39:
        !            40: 2. It is not immediately obvious that the right values are used for
        !            41:    text and data locations when invoking a dynamically linked executable.
        !            42:
        !            43:        The text and data sections, and the break, are set up as if
        !            44:        /sbin/loader itself had been executed.  It's not clear that this
        !            45:        is correct, but /sbin/loader seems to expect that at least the
        !            46:        break will be set up this way.
        !            47:
        !            48:        This has certain implications for the way mmap() behaves.  See
        !            49:        the comment in the osf1_mmap() function in osf1_misc.c.
        !            50:
        !            51: 3. The stack location is used is the normal NetBSD/alpha stack location.
        !            52:
        !            53:        No attempt is made to put the stack in the place where
        !            54:        Digital UNIX would normally put it.  This may confuse some
        !            55:        programs.

CVSweb