Don't check shared/export_dynamic/ref_dynamic for type mismatch

There is nothing linker can do when a type mismatched default definition
are made dynamic by info->shared, info->export_dynamic or h->ref_dynamic.
But we do want to avoid exporting it when building PIE.  Let's remove
those checks.

bfd/

	PR ld/2404
	* elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
	info->export_dynamic, nor !h->ref_dynamic for type mismatch when
	adding the default version.

ld/testsuite/

	PR ld/2404
	* ld-elf/shared.exp: Add a PIE test for PR ld/2404.
Update comments for the last commit
[PATCH] include 	* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) 	(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) 	(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) 	(NOARGS): Don't define. 	* libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty 	* _doprint.c (checkit): Use stdarg, not VA_* macros. 	* asprintf.c (asprintf): Use stdarg, not VA_* macros. 	* concat.c (concat_length, concat_copy, concat_copy2, concat) 	(reconcat): Use stdarg, not VA_* macros. 	* snprintf.c (snprintf): Use stdarg, not VA_* macros. 	* vasprintf.c (checkit): Use stdarg, not VA_* macros. 	* vsnprintf.c (checkit): Use stdarg, not VA_* macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206881 138bc75d-0d04-0410-961f-82ee72b054a4