Hi Joseph,

> I still have no idea from your answer how a user is meant to know whether 
> to use the option when compiling, linking or both, which is what needs to 
> be clear from invoke.texi.
>
> What does it mean for the option to be supported for compiling but not 
> linking?  What in that case will the linker do with compressed debug 
> sections on input?  Combine them in some way, good or bad?  Uncompress 
> them?
a linker that doesn't understand compressed debug sections will probably
combine them in a useless way.  If, like gld, it can read but not write
them, they will be written in uncompressed form.

> Likewise, for it to be supported for linking but not compiling?  Will the 
> linker then compress the uncompressed sections it receives on input?

Yes, that will work in all cases.

> I think it would be better if the option semantics are more like "if you 
> pass the same option when both compiling and linking, the linked output 
> will have the sections appropriately compressed as specified by the 
> option, whether or not the individual .o files do" - and if this can't be 
> supported with the tools being used, don't allow the option.

That's certainly an option, as in the following table (taking the
zlib-gnu format as an example, but omitting hypothetical linkers that
can write but not read compressed debug sections):

      assembler         linker          action                  example
      w                 r       w

      -                 -       -       reject                  as/ld
      -                 x       -       reject, useless         as/gld
      -                 x       x       ok, warn about no-op as -gz?    as/gold
      x                 -       -       reject, harmful         gas/ld
      x                 x       -       reject, useless         gas/gld
      x                 x       x       ok                      gas/gold

The only problem I see is that for an assembler not supporting
compression -gz would be a silent no-op.  I'd rather warn about this
instead, but still accept it so you can both compile and link with -gz.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to