https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108866

peter0x44 at disroot dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |peter0x44 at disroot dot org

--- Comment #7 from peter0x44 at disroot dot org ---
I'm interested in this feature, and would use it if it worked.
I do have a few questions about how this needs to be implemented, though.

1) should gcc pass through any arguments to windres?
  -I --include-dir=<dir>       Include directory when preprocessing rc file
  -D --define <sym>[=<val>]    Define SYM when preprocessing rc file
  -U --undefine <sym>          Undefine SYM when preprocessing rc file

2) does -m32 or -m64 need handling in any specific ways?

3) the linker has -Wl, for passing arguments to it, does windres need an
equivalent?

4) windres --help says:
FORMAT is one of rc, res, or coff, and is deduced from the file name
should ".res" be handled too?

5) windres --help has this list of "supported targets":
x86_64-w64-mingw32-windres: supported targets: pe-x86-64 pei-x86-64
pe-bigobj-x86-64 elf64-x86-64 pe-i386 pei-i386 elf32-i386 elf32-iamcu
elf64-little elf64-big elf32-little elf32-big srec symbolsrec verilog tekhex
binary ihex plugin

Do they matter? I did not expect to see any "elf" on this list, because windows
obviously doesn't use it.
I suspect some of these are not used/broken/handled by anyone, for windres
anyway. I tried the following:

$ x86_64-w64-mingw32-windres --target="elf64-x86-64" -i test.rc -o test.o
x86_64-w64-mingw32-windres: can't get BFD_RELOC_RVA relocation type: cause of
error unknown
$ x86_64-w64-mingw32-windres --target="elf32-i386" -i test.rc -o test.o
x86_64-w64-mingw32-windres: bruh.o: unsupported relocation type: 0x3f
$ x86_64-w64-mingw32-windres --target="elf32-iamcu" -i test.rc -o test.o
x86_64-w64-mingw32-windres: bfd_set_arch_mach(i386): cause of error unknown

6) does llvm-windres need to be considered at all? should there be a way to
select it? an -fuse-rc= command option or so?

Reply via email to