[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

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