This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, May 19, 2009 at 3:09 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Tue, May 19, 2009 at 2:47 PM, H.J. Lu <hjl.tools@gmail.com> wrote: >> On Tue, May 19, 2009 at 1:31 PM, Kai Tietz <ktietz70@googlemail.com> wrote: >>> 2009/5/19 H.J. Lu <hjl.tools@gmail.com>: >>>> On Tue, May 19, 2009 at 1:12 PM, Kai Tietz <ktietz70@googlemail.com> wrote: >>>>> 2009/5/19 H.J. Lu <hjl.tools@gmail.com>: >>>>>> On Tue, May 19, 2009 at 12:24 PM, Dave Korn >>>>>> <dave.korn.cygwin@googlemail.com> wrote: >>>>>>> H.J. Lu wrote: >>>>>>>> On Tue, May 19, 2009 at 11:57 AM, Dave Korn >>>>>>>> <dave.korn.cygwin@googlemail.com> wrote: >>>>>>>>> H.J. Lu wrote: >>>>>>>>>> On Tue, May 19, 2009 at 11:19 AM, Kai Tietz <ktietz70@googlemail.com> wrote: >>>>>>>>>>> Well, I tried this and I found that in gas/output-file.c obj-coff.h is >>>>>>>>>>> included, but the tc-i386.h isn't. So if I move code into tc-i386.h I >>>>>>>>>>> get build failures for PE(+) x86/x64 >>>>>>>>>>> >>>>>>>>>>> So, how to continue here? >>>>>>>>>>> >>>>>>>>>> How does Linux/x86-64 deal with this issue? >>>>>>>>> ?HJ, perhaps you can explain the motivation for your change request a bit >>>>>>>>> clearer. ?ISTM that ELF does things one way, COFF another. ?All the other COFF >>>>>>>>> targets define TARGET_FORMAT in cpu-specific chunks of obj-coff.h, ELF and >>>>>>>>> AOUT targets define TARGET_FORMAT in cpu-specific header files. ?This is >>>>>>>>> probably just a historical accident, but I'm not sure why that means we should >>>>>>>>> try and fix it now for just one single target? >>>>>>>>> >>>>>>>> >>>>>>>> Those x86 32/64bit processing is handled in tc-i386.[ch] so far. I'd like >>>>>>>> to keep this way so that any future changes to x86 won't break x86 32/64bit >>>>>>>> processing. >>>>>>> >>>>>>> ?Hmm, I see what you mean, it's a cpu-thing rather than an object format >>>>>>> thing. ?(BTW, did you mean to send this off-list?) >>>>>>> >>>>>> >>>>>> Oops. I didn't mean it. >>>>>> >>>>>>> ?I guess the next question is "Why doesn't putting them into tc-i386.h work, >>>>>>> considering that obj-coff.h begins with a #include of targ-cpu.h"? >>>>>>> >>>>>> >>>>>> That was my question too. >>>>> >>>>> Well, the answer isn't that hard here. The generated header file >>>>> targ-env.h is the reason. For pe(p) it simply includes te-pe(p).h, but >>>>> for linux the tc-i386.h file is included by it, too. I didn't >>>>> investigate into the reason for this, but this is the answer, why it >>>>> didn't break on linux 32/64 target. >>>>> >>>> >>>> Then you should include tc-i386.h in targ-env.h if you want to >>>> support --32/--64 on x86. >>>> >>>> >>>> >>>> -- >>>> H.J. >>>> >>> >> >> Both obj-elf.h and obj-coff.h ?include "targ-cpu.h", which has >> >> #include "tc-i386.h" >> >> Why didn't it work for you? >> >> > > This patch moves TARGET_FORMAT from obj-coff. to tc-i386.h > for x86. > Try this. H.J. --- 2009-05-19 Kai Tietz <kai.tietz@onevision.com> H.J. Lu <hongjiu.lu@intel.com> * config/obj-coff.h (TARGET_FORMAT): Removed for x86 pe-coff. (COFF_TARGET_FORMAT): Likewise. * config/tc-i386.c (md_longopts): Allow --64 for x86 pe-coff. (md_parse_option): Likewise. (md_show_usage): Show option --32/--64 for x86 pe-coff. (i386_target_format): Use also for x86 pe-coff. * config/tc-i386.h (PE_TARGET_FORMAT): New. (PE_TARGET_FORMAT64): Likewise. (TARGET_FORMAT): Defined with i386_target_format for x86 pe-coff.
Attachment:
bar.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |