PR27567, Linking PE files adds alignment section flags to executables
authorAlan Modra <amodra@gmail.com>
Fri, 16 Apr 2021 12:59:05 +0000 (22:29 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 16 Apr 2021 13:51:44 +0000 (23:21 +0930)
commit6f8f6017a0c4e22c6417c597c31b0a937d148a39
tree06fb2f4b8c73bbbc58ce2866e3d5e775ec37e070
parent768589d18042a55f0e1f77f466568a1c102ab099
PR27567, Linking PE files adds alignment section flags to executables

So don't set those flags for an executable.  In the patch I also test
DYNAMIC even though the PE bfd code doesn't appear to set it for dlls.
I figure it doesn't hurt to include that flag too.

PR 27567
bfd/
* coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
(coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
ignore alignment checks when return is false.  Formatting.
include/
* coff/internal.h (struct internal_scnhdr): Make s_flags unsigned long.
* coff/pe.h (COFF_ENCODE_ALIGNMENT): Don't set align flags for an
executable and return false.  Do so for a relocatable object and
evaluate to true.
* coff/ti.h (COFF_ENCODE_ALIGNMENT): Add bfd arg and evaluate to true.
(COFF_DECODE_ALIGNMENT): Formatting.
* coff/z80.h (COFF_ENCODE_ALIGNMENT): Similarly.
(COFF_DECODE_ALIGNMENT): Similarly.
bfd/ChangeLog
bfd/coffcode.h
include/ChangeLog
include/coff/internal.h
include/coff/pe.h
include/coff/ti.h
include/coff/z80.h