delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/01/19/21:06:10

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10301200208.AA28585@clio.rice.edu>
Subject: src/dxe/dxegen.txi
To: djgpp-workers AT delorie DOT com (DJGPP developers)
Date: Sun, 19 Jan 2003 20:08:16 -0600 (CST)
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

@c -----------------------------------------------------------------------------
@node dxegen, , , Top
@chapter dxegen

Usage: @code{dxegen} @file{outfile.dxe} @code{symbol} @file{infile.o} [@file{infile2.o} ... -lgcc -lc]

@code{dxegen} is a utility which allows you to create files which contain
dynamically loadable code.

The image must be self-contained, and it cannot reference symbols from the
main image.  As a consequence, you cannot do I/O and some other functions
directly from a DXE loaded image.

Constructors, destructors, and C++ exceptions do not work.

There is a single entry point (subroutine or data block) returned.  This
can be a vector of routines you have created.

@file{outfile.dxe} is the name you want to contain your dynamic load code.

@code{symbol} is the procedure name (or data structure) you want a pointer to.
You must add an initial underscore for most symbols created from C.

@file{input.o} is created with GCC from your source.  Additional arguments
on the command line (.o and .a files; or other ld options) are passed to
ld to resolve references to build your code.

The floating point emulator code provided by DJGPP is stored in a DXE.

See the documentation of `_dxe_load' in the library docs, for details on
how to load the dynamic code ("info libc alpha _dxe_load" from the DOS prompt).

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019