This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Gold: Implement the '--discard-locals' and '-X' options.


This patch implements the '--discard-locals' option and an alias of it
'-X' which cause temporary local symbols to be dropped in output.  The
options are intended to match the behaviour of the same options in GNU
ld.  Some of the code was converted to C++ from C code in GNU ld and
libbfd.  This patch was tested on x86_64-unknow-linux-gnu and passed
all gold tests, including a new one in the patch.

-Doug

2009-06-04  Doug Kwan  <dougkwan@google.com>

        * i386.cc (class Target_i386): Define new virtual method to
        override do_is_local_label_name in parent.
        * object.cc (Sized_relobj::do_count_local_symbols): Discard
        local symbols if --discard-locals or -X is given.
        * options.h (class General_options): Declare new options
        '--discard-locals' and '-X' for discarding locals.
        * target.h (class Target): Define new methods is_local_label_name
        and do_is_local_label_name.
        * testsuite/Makefile.am (check_PROGRAMS): Add discard_locals_test.
        (check_SCRIPTS): Add discard_locals_test.sh.
        (check_DATA): Add discard_local_tests.syms.
        (discard_locals_test_SOURCES, discard_locals_test_LDFLAGS): Define.
        (discard_local_tests.syms, discard_locals_test.o): New make rules.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/discard_locals_test.c: New file.
        * testsuite/discard_locals_test.sh: Same.

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]