ELFWRAP(1)                      User Commands                     ELFWRAP(1)
NAME
       elfwrap - wrap data in an 
ELF file
SYNOPSIS
       elfwrap [
-64] [
-o relobj-file] [
-z target=
sparc | 
x86]       
data-file...
DESCRIPTION
       The 
elfwrap utility creates an 
ELF relocatable object file from one
       or more data files. The relocatable object encapsulates each data
       file within an individual section, together with symbols that can be
       used to reference the section. The relocatable object is appropriate
       for inclusion with a subsequent link-edit. Users can reference the
       encapsulated data using the associated symbols.
       By default, a 32-bit 
ELF relocatable object is created that is
       appropriate for the machine on which 
elfwrap is executed. The 
-64       option can be used to create a 64-bit 
ELF relocatable object. The 
-z       target option can be used to create a relocatable object for a
       specific machine type.
       Note -
         Any data encapsulated with 
elfwrap must be in a format appropriate
         for the destination target.
       By default, the relocatable object 
a.wrap.o is created. The 
-o option
       can be used to specify an alternative relocatable object name.
       The 
basename(1) of each data file is used to create various pieces of       
ELF information.  For example, if the input data file is 
ISV/isv-       data, the following 
ELF information is created within the relocatable
       object.       
An ELF section named 
.isv-data           This section contains the entire contents of the input data file.       
An ELF symbol named 
isv-data_start           This symbol reflects the starting address of the 
.isv-data           section.       
An ELF symbol named 
isv-data_end           This symbol reflects the address of the first location after the           
.isv-data section.
OPTIONS
       The following options are supported:       
-64           Create a 64-bit 
ELF relocatable object.       
-o relobj-file           Produce a relocatable object that is named 
relobj-file.       
-z target=
sparc | 
x86           Specifies the machine type for the output relocatable object.
           Supported targets are 
sparc and 
x86. The 32-bit machine type for
           the specified target is used unless the 
-64 option is also
           present, in which case the corresponding 64-bit machine type is
           used. By default, the relocatable object that is generated is
           32-bit for the machine one which 
elfwrap is executed.
EXAMPLES
       The following example encapsulates the system 
passwd file and the
       system 
group file within a relocatable object 
passgroup.o.
         example% 
elfwrap -o passgroup.o /etc/passwd /etc/group         example% 
elfdump -s passgroup.o | egrep "passwd|group"           [2]  0x00000000 0x00000000  SECT LOCL  D  0 .passwd
           [3]  0x00000000 0x00000000  SECT LOCL  D  0 .group
           [7]  0x00000000 0x000002f0  OBJT GLOB  D  0 .passwd  passwd_start
           [8]  0x000002f0 0x00000000  OBJT GLOB  D  0 .passwd  passwd_end
           [9]  0x00000000 0x00000121  OBJT GLOB  D  0 .group   group_start
          [10]  0x00000121 0x00000000  OBJT GLOB  D  0 .group   group_end
         example% 
strings -N.passwd passgroup.o | head -1         root:x:0:0:Super-User:/:/sbin/sh
         example% 
strings -N.group passgroup.o | head -1         root::0:
       This relocatable object can be referenced from the following user
       code.
         example% 
cat main.c         #include        <stdio.h>
         extern char     passwd_start, passwd_end;
         void main()
         {
             char    *pstart = &passwd_start, *pend = &passwd_end;
             char    *str, *lstr;
             for (lstr = str = pstart; str < pend; str++) {
                 if ((*str == '\n') && (str != (pend - 1)))  {
                     (void) printf("%.*s", (++str - lstr), lstr);
                  lstr = str;
                 }
             }
         }
         example% 
cc -o main main.c passgroup.o         example% 
./main         root:x:0:0:Super-User:/:/sbin/sh
         ....
         nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:/:
FILES
       a.wrap.o                   The default relocatable object file created.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Committed       |
       +--------------------+-----------------+
SEE ALSO
       elfdump(1), 
ld(1), 
strings(1), 
elf(3ELF), 
attributes(7),       
ddi_modopen(9F)       Linker and Libraries Guide                             September 10, 2013                   ELFWRAP(1)