Of all the gin joints in all the towns in all the world, Jordan Justen had to 
walk into mine at 11:22:15 on Monday 17 August 2015 and say:

> On 2015-08-17 11:10:57, Bill Paul wrote:
> > Of all the gin joints in all the towns in all the world, David Woodhouse
> > had
> > 
> > to walk into mine at 11:00:23 on Monday 17 August 2015 and say:
> > > On Mon, 2015-08-17 at 10:53 -0700, Jordan Justen wrote:
> > > > UNIXGCC and CYGGCC are GCC 4.3 & mingw based. Did this get tested?
> > > > 
> > > > I think ELFGCC is unused at this point. (And has been since UnixPkg
> > > > was deprecated.)
> > > > 
> > > > I think we should deprecate all three of these toolchains. I would
> > > > like to see us move them to BaseTools/Conf/tools_def.deprecated. I'll
> > > > add Larry to this email, because I think he disagrees with
> > > > deprecating
> > > > toolchains...
> > > > 
> > > > If you make these changes and it breaks those toolchains, I don't
> > > > think we would be able to notice, because I don't think we test them
> > > > in our build pool anymore. To me this is all the more reason to move
> > > > them out of tools_def.template.
> > > 
> > > I was building with UNIXGCC last week, to test LLP64 builds without the
> > > pain of actually having to deal with Windows.
> > > 
> > > I'd rather see it updated to work with modern MinGW rather than
> > > deprecated.
> > 
> > I use UNIXGCC with the cross-compiler toolchain generated by mingw-gcc-
> > build.py. Yes, I know the existing version of the script uses GCC 4.3.0.
> > That's why I made an updated version that uses 4.9.3:
> > 
> > http://people.freebsd.org/~wpaul/edk2/mingw-gcc-build.py
> > 
> > I know you don't want to support this script, that's why I did the work
> > for you. :) Yes I've tested both IA32 and X64 builds. Yes they work
> > fine.
> > 
> > There is value in being able to bootstrap your own cross-build toolchain
> > on whatever platform. I don't think you should be so quick to remove it.
> 
> Can't you use an elf-based GCC4.9 with the GCC49 toolchain instead?

I could, but there's not really much point.

UEFI uses PE/COFF as its object format, right? Using an ELF-based GCC means 
that you have to add a extra conversion step during the build process in order 
to go from ELF to PE/COFF. The rationale for doing it that way is: "A lot of 
*NIX systems already have ELF-based system compilers installed, we might as 
well use them." I understand the usefulness of this approach.

However, if I'm going to be bootstrapping my own cross-build tools from 
scratch, that rationale no longer applies: if I have the option of selecting a 
target that gets me PE/COFF objects directly, I might as well do that.

> I'm not sure it makes sense to 'upgrade' the UNIXGCC toolchain to be
> based on GCC 4.9 rather than 4.3. I think GCC 4.3 was implicitly part
> of the definition of the UNIXGCC toolchain. (Well, maybe explicitly if
> you count the comment in tools_def :) This is why I'd rather deprecate
> it as a toolchain, and use the GCC4X toolchains instead.

I don't think this reasoning is valid. It doesn't seem fair to say that just 
because the UNIXGCC target was originally set up to use GCC 4.3.0, you can 
never upgrade it to a newer version. Technically, GCC 4.3.0 is buggy if you 
consider that it gets the underscore decoration convention wrong for X64. I 
would argue that it makes sense to fix this, since if the intent was to 
produce a cross-build toolchain that emulates the Microsoft toolchain 
behavior, it's not actually doing that now. It hasn't been left like that 
because people wanted it that way: it was left like that because until now 
nobody cared enough to fix it.

-Bill

> -Jordan
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

-- 
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Member of Technical Staff,
                 wp...@windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
   "I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to