Previously we were using the default alignment, i.e. an alignment
of 16. This was more aligned than we needed to be and didn't match
cvtres's behaviour. This change sets the alignment to 1, as cvtres
does.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 17681 Build 17681: arc lint + arc unit
Event Timeline
Comment Actions
I tried to verify this, but it seems cvtres.exe does not set alignment for the .rsrc sections:
rc /fo test_resource.res /nologo test_resource.rc && cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff test_resource.res && dumpbin /headers test_resource.obj.coff test_resource.rc(8) : warning RC4204 : ASCII character not equivalent to virtual key code Microsoft (R) COFF/PE Dumper Version 14.12.25834.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file test_resource.obj.coff File Type: COFF OBJECT FILE HEADER VALUES 14C machine (x86) 3 number of sections 5AEC2266 time date stamp Fri May 4 11:05:42 2018 C38 file pointer to symbol table 10 number of symbols 0 size of optional header 100 characteristics 32 bit word machine SECTION HEADER #1 .debug$S name 0 physical address 0 virtual address 13C size of raw data 8C file pointer to raw data (0000008C to 000001C7) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers 42100040 flags Initialized Data Discardable 1 byte align Read Only SECTION HEADER #2 .rsrc$01 name 0 physical address 0 virtual address 290 size of raw data 1C8 file pointer to raw data (000001C8 to 00000457) 458 file pointer to relocation table 0 file pointer to line numbers 8 number of relocations 0 number of line numbers 40000040 flags Initialized Data (no align specified) Read Only SECTION HEADER #3 .rsrc$02 name 0 physical address 0 virtual address 790 size of raw data 4A8 file pointer to raw data (000004A8 to 00000C37) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers 40000040 flags Initialized Data (no align specified) Read Only Summary 13C .debug$S 290 .rsrc$01 790 .rsrc$02
Comment Actions
cvtres.exe also doesn't seem to set the IMAGE_SCN_TYPE_NO_PAD flag:
obj2yaml.exe test_resource.obj.coff | grep -B1 Characteristics Machine: IMAGE_FILE_MACHINE_I386 Characteristics: [ IMAGE_FILE_32BIT_MACHINE ] -- - Name: '.debug$S' Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ] -- - Name: '.rsrc$01' Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] -- - Name: '.rsrc$02' Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]