rqs32 man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]


RQS(1)								     RQS(1)

NAME
     rqs, rqs32 - Make 32-bit executable or shared object quickstart ready

SYNOPSIS
     rqs [fIoptions] object

DESCRIPTION
     rqs and rqs32 function identically and take the same options.  rqs is
     an old 32-bit ABI program (-32).  rqs32 is a new 32-bit ABI program
     (-n32).  Either can process old 32-bit ABI and new 32-bit ABI
     applications and DSOs (so they can be used interchangeably).

     rqs takes an object, either an executable or a shared object, and
     using its liblist will then redo all the pre-relocations.	For shared
     objects only, if -load_address is specified, then the specified
     address will be used as the lowest virtual address for that shared
     object, otherwise options -check_registry and/or -update_registry will
     be used to figure out possible quickstart addresses for that shared
     object, just like ld.

     rqs will create a new version of the object and save it back in place,
     overwriting the previous version, so you may want to save a copy of
     the object before re-quickstarting it.

     For an object to be re-quickstartable, the bit RHF_REQUICKSTART must
     be set in the DT_MIPS_FLAGS field of its .dynamic section.	 This bit
     is normally set by ld.  After an object has been re-quickstarted, the
     bit RHF_REQUICKSTARTED will be set in the DT_MIPS_FLAGS field of its
     .dynamic section.

     With the -m option, rqs will move an object to a requested address
     even if the result will not quickstart.

     The following options are available:

     -f or -force_requickstart
		 Requickstart object even if RHF_REQUICKSTART is not set in
		 object.

     -t timestamp_value_in_hex or -timestamp timestamp_value_in_hex
		 Specifies a timestamp value in hex to replace the one in
		 the DT_MIPS_TIME_STAMP field of the .dynamic section,
		 applicable to shared object only.

     -l text_address_in_hex or -load_address text_address_in_hex
		 Specifies the lowest virtual address for the shared object
		 being rqs'd, when specified, options -check_registry and
		 -update_registry will be ignored.

     -c so_locations_file or -check_registry so_locations_file
		 Check the location of this shared object's segments and
		 make sure they stay out of the way of others in the
		 so_locations_file.  A single registry file, either with -c
		 or -u is allowed.  Applicable to shared object only.

     -u so_locations_file or -update_registry so_locations_file
		 Register the location of this shared object's segments and
		 make sure they stay out of the way of others in the
		 so_locations_file.  so_locations_file is updated if it is
		 writable.  A single registry file, either with -c or -u is
		 allowed.  Applicable to shared object only.

     -L		 Change the algorithm of searching for libraries to never
		 look in the default directories (/usr/lib:/lib).  This
		 option has the same semantics as the -L option in the ld
		 command.

     -Ldir	 Change the algorithm of searching for libraries to look in
		 dir before looking in the default directories.	 This
		 option has the same semantics as the -Ldir option in the
		 ld.  The environment variable LD_LIBRARY_PATH can also be
		 used for this purpose.	 (For a new 32-bit ABI object
		 LD_LIBRARYN32_PATH is used if it exists, or else
		 LD_LIBRARY_PATH is used, if it exists.)

     -m		 Move the DSO even if address overlaps are detected
		 (without this option address overlaps cause rqs to exit
		 without doing anything).  If an address overlap is
		 detected, the RHF_QUICKSTART flag is reset (to 0) in the
		 dynamic section.  Generally, this is useful only if the -l
		 option is also specified on the command line.

     -v		 Makes rqs more verbose.  Generally intended for debugging,
		 but it is useful if you want to know if the -m option
		 detected any address overlaps (messages will be issued).

     -r root_path or -root root_path
		 Change the path of the default directories that rqs uses
		 for searching libraries by appending root_path to the
		 front of the default path, just like that in _RLD_ROOT.
		 It can also be a colon(:) separated list.  In fact, the
		 environment variable _RLD_ROOT can also be used for this
		 purpose.  (For a new 32-bit ABI object, use _RLDN32_ROOT
		 instead of _RLD_ROOT).

     -chroot root_path
		 This causes the named directory root_path to become the
		 root directory, the starting point for path searches for
		 path names beginning with /e.

     -log file	 Pipes all error messages to file instead of standard
		 output.

     -rld_addr address
		 Sets the dynamic section DT_MIPS_RLD_TEXT_RESOLVE_ADDR to
		 address.

     -rld_addr_only
		 Restricts the changes to be made to the dynamic section,
		 DT_MIPS_RLD_TEXT_RESOLVE_ADDR (only effective if the
		 -rld_addr option is also specified on the command line).

     -rld_unresolve_check_only
		 Restricts the changes to be to the dynamic section's
		 DT_MIPS_FLAGS to set or unset RHF_NO_UNRES_UNDEF depending
		 on whether there were any undefined variables.

     -rld_force_noquickstart_only
		 Restricts the changes to be to reset the dynamic section's
		 DT_MIPS_FLAGS RHF_QUICKSTART flag.

     The following options must be put into the environment variable
     _RQS_ARGS to be understood; they cannot be specified on the command
     line.

     "-debug map"
	  Used for debugging rqs.  Prints information about the mapping
	  (address) of the object.

     "-debug symbol"
	  Used for debugging rqs.  Prints information about the symbol
	  searches and symbol finding in the object (in symbol relocation).

     "-debug MALLOC"
	  Used for debugging rqs.  Prints a trace of some of the
	  malloc/realloc calls.

     "-debug hash"
	  Used for debugging rqs.  Prints a trace of the hashing function
	  used searching a hash table for a symbol.

NOTES
     Some options have long and short spellings.  For example, -f and
     -force_requickstart do the same thing.  The short form is easier to
     remember and spell.  Because the long form is used in existing scripts
     and programs, both forms will be supported.

     Where any option specifies that a value supplied on the command line
     is to be in hexadecimal, the value is interpreted as hexadecimal
     digits whether or not a leading "0x" is part of the option value.

EXAMPLES
     The following command can be used to move a set of DSOs to a common
     base address:

	  #!/bin/sh
	  for in dso1.so dso2.so dso3.so
	  do
	     rqs -l 0x300000 -m -f  $i
	  done

     You may want to do this if a set of DSOs used by an application takes
     too much virtual address space to lay out sequentially, and the set is
     too large to try to provide so_locations at link time.

FILES
     /usr/etc/rqs
     /usr/etc/rqs32
     /usr/lib/so_locations (for old 32-bit ABI)
     /usr/lib32/so_locations (for new 32-bit ABI)

SEE ALSO
     ld(1), rld(1), rqs64(1), rqsall(1)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net