*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> rqs64 (1)              
Title
Content
Arch
Section
 

Contents


RQS64(1)					       Last changed: 1-4-99

NAME    [Toc]    [Back]

     rqs64 - Fixes up 64-bit executable	or shared object to be
     QUICKSTARTable

SYNOPSIS    [Toc]    [Back]

     rqs64 [-t timestamp_value_in_hex] [-l text_address_in_hex]	[-c
     so_locations_file]	[-u so_locations_file] [-f] [-L] [-Ldir] [-r
     root_path]	[-chroot root_path] [-log <file>] [-rld_addr <address>]	[-
     rld_addr_only] [-rld_unresolve_check_only]	[-
     rld_force_noquickstart_only] object

IMPLEMENTATION    [Toc]    [Back]

     IRIX systems

DESCRIPTION    [Toc]    [Back]

     rqs64 takes an object, either an executable or a shared object, and
     using its liblist will then redo all the pre-relocations.	For shared
     object 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, as
     does the ld command.

     rqs64 will	create a new version of	the object and save it back in
     place, overwriting	the previous version, so user may want to save a
     copy of the object	somewhere before requickstarting it.

     For an object to be requickstartable, 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 requickstarted, 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.

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

     -force_requickstart
	  is an	alternate spelling of the -f option.

     -t	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.

     -timestamp	timestamp_value_in_hex
	  This is an alternate spelling	of the -t option.

     -l	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.

     -load_address text_address_in_hex
	  This is an alternate spelling	of the -l option.

     -c	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.

     -check_registry so_locations_file
	  This is an alternate spelling	of the -c option.

     -u	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.

     -update_registry so_locations_file
	  This is an alternate spelling	of the -u option.

     -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
	  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).

     -root root_path
	  This is an alternate spelling	of the -r option.

     -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
	  *CDT_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    [Toc]    [Back]

     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    [Toc]    [Back]

     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 will 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

FILES    [Toc]    [Back]

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

SEE ALSO    [Toc]    [Back]

      
      
     ld(1), rld(1), rqsall(1), rqs(1)

     This man page is available	only online.

[ Back ]
 Similar pages
Name OS Title
rqs IRIX Make 32-bit executable or shared object QUICKSTARTable
fixso Tru64 Fixes a shared object so that it can be quickstarted
ldd_ia HP-UX list dynamic dependencies of executable files or shared libraries
ldd_pa HP-UX list dynamic dependencies of executable files or shared libraries
ldd Tru64 List dynamic dependencies of executable files or shared objects
ldd HP-UX list dynamic dependencies of executable files or shared libraries
shm_open FreeBSD open or create a shared memory object shm_unlink -- remove a shared memory object
dlopen Tru64 gain access to an executable object file
shm_open Tru64 Opens a shared memory object, creating the object if necessary (P1003.1b)
runexec IRIX run an executable program described in an executable descriptor file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service