* objcopy.c (change_leading_char): New static variable.
authorIan Lance Taylor <ian@airs.com>
Fri, 13 Sep 1996 21:34:08 +0000 (21:34 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 13 Sep 1996 21:34:08 +0000 (21:34 +0000)
(OPTION_CHANGE_LEADING_CHAR): Define.
(copy_options): Add "change-leading-char".
(copy_usage): Mention --change-leading-char.
(filter_symbols): Add obfd parameter.  Change all callers.
Implement change_leading_char.
(copy_object): Call filter_symbols if change_leading_char.
(copy_main): Handle OPTION_CHANGE_LEADING_CHAR.
* binutils.texi, objcopy.1: Document --change-leading-char.

binutils/ChangeLog
binutils/binutils.texi
binutils/objcopy.1

index 9931ad0b2f15120c50e37b8ada4019506e85ded3..ac482f485e12ebbc185a8c1c1caba87cee805c48 100644 (file)
@@ -1,3 +1,30 @@
+Fri Sep 13 17:32:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * objcopy.c (change_leading_char): New static variable.
+       (OPTION_CHANGE_LEADING_CHAR): Define.
+       (copy_options): Add "change-leading-char".
+       (copy_usage): Mention --change-leading-char.
+       (filter_symbols): Add obfd parameter.  Change all callers.
+       Implement change_leading_char.
+       (copy_object): Call filter_symbols if change_leading_char.
+       (copy_main): Handle OPTION_CHANGE_LEADING_CHAR.
+       * binutils.texi, objcopy.1: Document --change-leading-char.
+
+Tue Sep  3 14:05:29 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ieee.c (ieee_enum_type): Don't check index into a NULL names
+       array.
+       * nm.c (sort_symbols_by_size): Always initialize next.
+       * rdcoff.c (parse_coff_type): Warn about an incomprehensible
+       type rather than crashing.
+       * rddbg.c (read_symbol_stabs_debugging_info): Initialize f.
+       * stabs.c (parse_stab_members): Set context in all cases.
+
+Thu Aug 29 16:56:52 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
+       * configure: Regenerate.
+
 Thu Aug 29 11:29:20 1996  Ian Lance Taylor  <ian@cygnus.com>
 
        * objdump.c (L_tmpnam): Never define.
index 053df4a50d753aa55d866c5b899cef85e1506abf..ff072afeaab7a2dd01966214ce7391e49d3f95ae 100644 (file)
@@ -816,7 +816,7 @@ objcopy [ -F @var{bfdname} | --target=@var{bfdname} ]
         [ --adjust-warnings ] [ --no-adjust-warnings ]
         [ --set-section-flags=@var{section}=@var{flags} ]
         [ --add-section=@var{sectionname}=@var{filename} ]
-        [ --remove-leading-char ]
+        [ --change-leading-char ] [ --remove-leading-char ]
         [ -v | --verbose ] [ -V | --version ]  [ --help ]
         @var{infile} [@var{outfile}]
 @end smallexample
@@ -986,13 +986,26 @@ contents of the new section are taken from the file @var{filename}.  The
 size of the section will be the size of the file.  This option only
 works on file formats which can support sections with arbitrary names.
 
+@item --change-leading-char
+Some object file formats use special characters at the start of
+symbols.  The most common such character is underscore, which compilers
+often add before every symbol.  This option tells @code{objcopy} to
+change the leading character of every symbol when it converts between
+object file formats.  If the object file formats use the same leading
+character, this option has no effect.  Otherwise, it will add a
+character, or remove a character, or change a character, as
+appropriate.
+
 @item --remove-leading-char
 If the first character of a global symbol is a special symbol leading
 character used by the object file format, remove the character.  The
 most common symbol leading character is underscore.  This option will
 remove a leading underscore from all global symbols.  This can be useful
 if you want to link together objects of different file formats with
-different conventions for symbol names.
+different conventions for symbol names.  This is different from
+@code{--change-leading-char} because it always changes the symbol name
+when appropriate, regardless of the object file format of the output
+file.
 
 @item -V
 @itemx --version
index 3276b17d3cc11bbf4b9ad43a4eb7a24bf5362514..e83aa74621bde85dc27eabb42c3be57e6da54cd2 100644 (file)
@@ -39,6 +39,7 @@ objcopy \- copy and translate object files
 .RB "[\|" \-\-no\-adjust\-warnings\fR "\|]"
 .RB "[\|" \-\-set\-section\-flags=\fIsection=flags\fR "\|]"
 .RB "[\|" \-\-add\-section=\fIsectionname=filename\fR "\|]"
+.RB "[\|" \-\-change\-leading\-char\fR "\|]"
 .RB "[\|" \-\-remove\-leading\-char\fR "\|]"
 .RB "[\|" \-v\ |\ \-\-verbose\fR "\|]" 
 .RB "[\|" \-V\ |\ \-\-version\fR "\|]" 
@@ -219,13 +220,26 @@ The size of the section will be the size of the file.  This option
 only works on file formats which can support sections with arbitrary
 names.
 .TP
+.B \-\-change\-leading\-char
+Some object file formats use special characters at the start of
+symbols.  The most common such character is underscore, which compilers
+often add before every symbol.  This option tells 
+.B objcopy
+to change the leading character of every symbol when it converts
+between object file formats.  If the object file formats use the same
+leading character, this option has no effect.  Otherwise, it will add
+a character, or remove a character, or change a character, as
+appropriate.
+.TP
 .B \-\-remove\-leading\-char
 If the first character of a global symbol is a special symbol leading
 character used by the object file format, remove the character.  The
 most common symbol leading character is underscore.  This option will
-remove a leading underscore from all global symbols.  This can be useful
-if you want to link together objects of different file formats with
-different conventions for symbol names.
+remove a leading underscore from all global symbols.  This can be
+useful if you want to link together objects of different file formats
+with different conventions for symbol names.  This is different from
+@code{--change-leading-char} because it always changes the symbol name
+when appropriate, regardless of the object file format of the output
 .TP
 .B \-v\fR, \fB\-\-verbose
 Verbose output: list all object files modified.  In the case of