Add --demangle=STYLE to gold

Ian Lance Taylor iant@google.com
Mon Mar 24 03:53:00 GMT 2008


I committed this patch to add support for --demangle=STYLE to gold.
gold already supported --demangle; this adds the =STYLE part.

The main work here is the framework for optional arguments, which is
needed for --build-id.  --demangle is the only current gold parameter
which takes an optional argument in GNU ld.

Ian


2008-03-23  Ian Lance Taylor  <iant@google.com>

	* options.cc: Include "demangle.h".
	(parse_optional_string): New function.
	(parse_long_option): Handle takes_optional_argument.
	(parse_short_option): Update dash_z initializer.  Handle
	takes_optional_argument.
	(General_options::General_options): Initialize do_demangle_.
	(General_options::finalize): Set do_demangle_.  Handle demangling
	style.
	* options.h (parse_optional_string): Declare.
	(struct One_option): Add optional_arg field.  Update constructor.
	Update call constructor calls.  Add takes_optional_argument
	function.
	(DEFINE_var): Add optional_arg__ parameter.  Change all callers.
	(DEFINE_optional_string): Define.
	(General_options::demangle): Change from DEFINE_bool to
	DEFINE_optional_string.
	(General_options::no_demangle): New function.
	(General_options::do_demangle): New function.
	(General_options::set_do_demangle): New function.
	(General_options::execstack_status_): Move definition to end of
	class definition.
	(General_options::static_): Likewise.
	(General_options::do_demangle_): New field.
	* object.cc (big_endian>::get_symbol_location_info): Call
	Options::do_demangle, not Options::demangle.
	* symtab.cc (demangle): Likewise.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.patch
Type: text/x-patch
Size: 15408 bytes
Desc: Add --demangle=STYLE
URL: <https://sourceware.org/pipermail/binutils/attachments/20080324/bde9fe8a/attachment.bin>


More information about the Binutils mailing list