rqs64 man page on IRIX

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


RQS64(1)							   RQS64(1)

NAME
     rqs64 - Modifies 64-bit executable or shared object to be quickstart-
     ready

SYNOPSIS
     rqs64 [options] object

DESCRIPTION
     rqs64 takes an object, either an executable or a shared object, and
     using its liblist redoes all the pre-relocations.	For shared object
     only, if -load_address is specified, then the specified address is
     used as the lowest virtual address for that shared object, otherwise
     options -check_registry and/or -update_registry is used to figure out
     possible quickstart addresses for that shared object, as does the ld
     command.

     rqs64 creates a new version of the object and saves it back in place,
     overwriting the previous version, so user may want to save a copy of
     the object somewhere 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 is set in the DT_MIPS_FLAGS field of its
     .dynamic section.

     With the -m option, rqs moves 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 is allowed when
		 either -c or -u is specified.	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
		 specified is allowed.	Applicable to shared object only.

     -L		 Change the algorithm of searching for libraries to never
		 look in the default directories, namely /usr/lib:/lib.
		 This option has the same semantics as the -L 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 command.  The environment variable LD_LIBRARY64_PATH
		 can also be used for this purpose.

     -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 useful only if the -l option
		 is also specified on the command line.

     -v		 Makes rqs more verbose.  Generally intended for debugging,
		 but is useful if you want to know if whether the -m option
		 detected any address overlaps.	 This enables a message to
		 be issued about such overlaps.

     -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.  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 logfile
		 Pipes all error messages to logfile 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 the dynamic section
		 DT_MIPS_RLD_TEXT_RESOLVE_ADDR (effective only if the
		 -rld_addr option is also specified on the command line).

     -rld_unresolve_check_only
		 Restricts the changes 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 the dynamic section's
		 DT_MIPS_FLAGS to be to reset the 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 when 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 are 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
     You may want to use the following example 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 an
     so_locations at link time.	 This moves 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

FILES
     /usr/etc/rqs64 /usr/lib64/so_locations

SEE ALSO
     ld(1), rld(1), rqsall(1), rqs(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