On 2015-06-09 02:38:02, Gao, Liming wrote:
> Jordan:
>   Yes. I agree .bin is better postfix for .nasmb. After we fully
>   migrate .asm16 to .nasmb, I will update our reference platform to
>   use .bin in their FDF Ffs Rules.

This sounds like an ok plan.

But, then we will have to leave the build-rule copy to a .com file,
right? Because now we will have to be backward-compatible with the
fact that .nasmb was making .com files for a few months. Sigh... :)

Anyway, my suggestion was to make new .inf files for the nasm
versions, and convert the platforms to the new .inf and update their
.fdf files when changing to the nasm .inf.

Then, in the end you can delete the masm .inf files and .asm16 files.

-Jordan

> -----Original Message-----
> From: Justen, Jordan L 
> Sent: Tuesday, June 09, 2015 3:12 PM
> To: Gao, Liming; edk2-devel@lists.sourceforge.net
> Subject: RE: [edk2] [Patch] BaseTools: Update nasmb build rule
> 
> On 2015-06-08 18:31:30, Gao, Liming wrote:
> > Jordan:
> >   I don't get any feedback from others. You also say I can go ahead.
> >   So, I add this change.
> 
> Ok. You are right. It is true that I said: "I don't like the idea of creating 
> the .com for .nasmb sources, but if you insist that it is required, then you 
> can go ahead."
> 
> So, I guess you went ahead.
> 
> Can you at least agree that the use of the .com extension is confusing in 
> this case, since .com files are 16-bit DOS executables? I think the only 
> reason they appeared in EDK/EDK II is because masm16 would only output a .com 
> file.
> 
> I don't think we need to make everything backward compatible. This is a new 
> tool without the legacy masm baggage, so do we really need to go out of our 
> way to bring the masm baggage along?
> 
> Really, wouldn't it be reasonable for a platform to make a 1-line change to 
> their .fdf file if for no other reason than to make it obvious that a big 
> change just happened to their SEC phase?
> 
> This project goes *way* out of it's way to try to be backward compatible. In 
> my opinion, often too far.
> 
> Ok. Rant complete. Thanks for your time, :)
> 
> -Jordan
> 
> >   I add this support for compatibility. I want to update our core
> >   module to use .nasmb, and platform can directly use the updated
> >   core module without changes. Now, our most platforms use .com
> >   postfix in their platform FDF Ffs Rule. With this patch, after we
> >   update more core modules to use .nasmb instead .asm16, it will not
> >   impact platforms.
> > 
> > Thanks
> > Liming
> > -----Original Message-----
> > From: Justen, Jordan L
> > Sent: Tuesday, June 9, 2015 12:56 AM
> > To: Gao, Liming; edk2-devel@lists.sourceforge.net
> > Subject: RE: [edk2] [Patch] BaseTools: Update nasmb build rule
> > 
> > On 2014-11-21 10:16:47, Jordan Justen wrote:
> > > On 2014-11-20 22:12:42, Gao, Liming wrote:
> > > > Jordan:
> > > >   NASMB is replacement of ASM16.
> > > 
> > > I see .nasmb as an alternative, but not a replacement. (.asm16 is 
> > > still supported by EDK II.)
> > > 
> > > I do hope that long term it replaces all uses of .asm16 though. :)
> > > 
> > > >   Now, ASM16 has been used in the
> > > >   different modules. When the module owners do this conversion, they
> > > >   expect it is compatible and doesn't impact platform, because
> > > >   module owner can't predict how many platform will be impacted. So,
> > > >   I think the compatibility is the important point to persuade the
> > > >   module owners to do this conversion.
> > > 
> > > I would rather see .bin be used in this case, because it makes more 
> > > sense than .com. I guess .com was used because it was the output 
> > > from link16? But, .com files are known as old dos based executables. 
> > > It is a confusing use of the extension.
> > 
> > I see you went ahead and committed this without further discussion.
> > 
> > I also see that you converted an internal platform's fdf from being 
> > able to accept either .bin or .com to only accept .com. So, apparently 
> > you have real preference for using .com rather than .bin.
> > 
> > Can you explain why you think .com makes better sense than .bin in 
> > this context?
> > 
> > http://en.wikipedia.org/wiki/COM_file
> > 
> > -Jordan
> > 
> > > If we copy the file like in your patch, then few platforms will 
> > > actually change from using .com to .bin, but I think it would be an 
> > > improvement for them to convert to using the .bin extension.
> > > 
> > > Maybe another idea is to leave the .asm16 .inf in place, and create 
> > > a new .inf with the .nasmb source. Then the platform will have to 
> > > change both the .dsc and .fdf to make use of NASM. This will also 
> > > leave the platform with the option to continue using MASM16/LINK16.
> > > 
> > > I don't like the idea of creating the .com for .nasmb sources, but 
> > > if you insist that it is required, then you can go ahead. I will not 
> > > give my r-b for the change though. :)
> > > 
> > > -Jordan
> > > 
> > > > -----Original Message-----
> > > > From: Justen, Jordan L
> > > > Sent: Friday, November 21, 2014 12:58 PM
> > > > To: edk2-devel@lists.sourceforge.net; Gao, Liming
> > > > Subject: Re: [edk2] [Patch] BaseTools: Update nasmb build rule
> > > > 
> > > > On 2014-11-18 23:49:45, Gao, Liming wrote:
> > > > > Nasmb can replace ASM16. Now, ASM16 output file is *.com. To be 
> > > > > compatible with it, update nasmb build rule to output *.com file also.
> > > > > 
> > > > > ASM16 output file is used by Platform FDF Rule section. With 
> > > > > this patch, Platform FDF file will not be impacted after asm16 
> > > > > file is converted to nasmb file.
> > > > 
> > > > Liming,
> > > > 
> > > > I don't think we need this change. With a small change to the .fdf, 
> > > > .bin can work as easily as .com.
> > > > 
> > > > I think .com was a bad extension for this file, even when
> > > > masm16/link16 was being used. Maybe we should have copied from .com to 
> > > > .bin before.
> > > > 
> > > > -Jordan
> > > > 
> > > > > Contributed-under: TianoCore Contribution Agreement 1.0
> > > > > Signed-off-by: Liming Gao <liming....@intel.com>
> > > > > 
> > > > > ---
> > > > > 
> > > > > Index: build_rule.template
> > > > > 
> > > > > ================================================================
> > > > > ==
> > > > > =
> > > > > 
> > > > > --- build_rule.template (revision 16400)
> > > > > 
> > > > > +++ build_rule.template              (working copy)
> > > > > 
> > > > > @@ -491,8 +491,8 @@
> > > > > 
> > > > >          "$(PP)" $(PP_FLAGS) $(INC) ${src} > 
> > > > > ${d_path}(+)${s_base}.i
> > > > > 
> > > > >          Trim --source-code --convert-hex -o 
> > > > > ${d_path}(+)${s_base}.iii $ {d_path}(+)${s_base}.i
> > > > > 
> > > > >          "$(NASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst
> > > > > $(NASMB_FLAGS) -o $dst ${d_path}(+)${s_base}.iii
> > > > > 
> > > > > +        $(CP) ${dst} $(OUTPUT_DIR)(+)${s_base}.com
> > > > > 
> > > > > -
> > > > > 
> > > > > [Microcode-File.USER_DEFINED, Microcode-File.Microcode]
> > > > > 
> > > > >      <InputFile>
> > > > > 
> > > > >          ?.txt, ?.TXT, ?.Txt, ?.mut, ?.inc
> > > > > 
> > > > > ---
> > > > > 
> > > > >  
> > > > > 
> > > > > Thanks
> > > > > 
> > > > > Liming
> > > > > 
> > > > >  
> > > > > 

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to