https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119414
James K. Lowden <jklowden at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jklowden at gcc dot gnu.org
--- Comment #1 from James K. Lowden <jklowden at gcc dot gnu.org> ---
(In reply to Iain Sandoe from comment #0)
> 1. -rdynamic (this might not be supported on all targets).
>
> What is this needed for?
> perhaps the library is using some symbol that the executable is meant to
> export?
Yes, except I don't know what you mean by "meant to export". The produced
executable defines (or once did define) symbols used by the library.
A quick test indicates it's no longer needed:
$ ./built-gcobol -### -oo nist/NC/NC102A.o 2>&1 | sed "/'-rdynamic'/d; 1d;
4,8d" | sh
produces a working binary without complaint on aaarch64.
> 2. --allow-multiple-definitions (not supported by all linkers)
>
> Why do we need to allow multiple definitions?
I doubt this is actually necessary. It's not by design. We added it as a
workaround upon a time.
> 3. pic/PIC options. (these are target-specific in general).
>
> It's not clear why the gcobol driver needs to be concerned with these -
> typically the target-specific specs processing handles this.
IIUC, if & when pic/PIC is needed for a particular target, it should be
supplied on a target-specific basis. No argument here. Expertise is all
that's lacking.