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] Add extended .def aliasing feature to ld


Hello,

as for dlltool, this patch extends .def file handling by the ability
to handle '_foo = bar == doo'. Which means that in export/import
library the __imp__foo symbol is genereated, which is an alias of
internal function bar, and it gets exported/imported in export/import
table from/by 'doo'.
This allows to remap functions export table/import table names.

2009-10-23  Kai Tietz  <kai.tietz@onevision.com>

	* deffile.h (def_file_export): New member its_name.
	(def_file_import): Likewise.
	(def_file_add_export): Add argument its_name.
	(def_file_add_import): Likewise.
	* deffilep.y (def_exports): Add argument its_name.
	(def_import): Likewise.
	(EQUAL): Add new token for '=='.
	(opt_equalequal_name): New rule.
	(expline): Add rule opt_equalequal_name.
	(impline): Likewise.
	(def_file_free): Free for exports and imports
	the optional member its_name.
	(def_lex): Add scan of '==' as EQUAL.
	* pe-dll.c (pe_export_sort): Sort for its_name too.
	(process_def_file_and_drectve): Adjust calls to
	def_file_add_export.
	(generate_edata): Take its_name in account.
	(make_one): Likewise.
	(pe_process_import_defs): Likewise.
	(pe_dll_generate_def_file): Add print of new '==' option.
	* ld.texinfo: Extend documentation about .def file syntax.

Tested for x86_64-pc-mingw32, i686-pc-mingw32, and i686-pc-cygwin. Ok for apply?

Cheers,
Kai


-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination

Attachment: ld_alias.diff
Description: Binary data


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