Dear BaseTools maintainers, Could you please review Andrew's patch. Thanks, Olivier
-----Original Message----- From: Olivier Martin [mailto:[email protected]] Sent: 11 September 2014 12:39 To: 'Andrew Fish' Cc: [email protected]; [email protected] Subject: RE: [PATCH] BaseTools/Source/C: Removed '-Wno-self-assign' from Makefile Your patch seems to fix my build issue. Tested-By: Olivier Martin <[email protected]> Reviewed-By: Olivier Martin <[email protected]> Thanks Andrew, Olivier > -----Original Message----- > From: Andrew Fish [mailto:[email protected]] > Sent: 02 September 2014 17:56 > To: Olivier Martin > Cc: [email protected]; [email protected] > Subject: Re: [PATCH] BaseTools/Source/C: Removed '-Wno-self-assign' > from Makefile > > > On Sep 2, 2014, at 9:15 AM, Olivier Martin <[email protected]> > wrote: > > > So there are two solutions. Either we do not support GCC 3.4.2 (and > RHEL 5.8) or we add a build condition into the makefile to select the > appropriate set of flags. > > I personally do not have any preference as soon as the message is > clear. > > > > Olivier, > > Does this patch work for your test case? > > Thanks, > > Andrew Fish > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Andrew Fish <[email protected]> > > > diff --git a/BaseTools/Source/C/Makefiles/header.makefile > b/BaseTools/Source/C/Makefiles/header.makefile > index 3049587..54d3c78 100644 > --- a/BaseTools/Source/C/Makefiles/header.makefile > +++ b/BaseTools/Source/C/Makefiles/header.makefile > @@ -41,7 +41,12 @@ endif > > INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common > -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I > $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) > CPPFLAGS = $(INCLUDE) > +ifeq ($(DARWIN),Darwin) > +# assume clang or clang compatible flags on OS X > CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno- > deprecated-declarations -Wno-self-assign -nostdlib -c -g > +else > +CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno- > deprecated-declarations -nostdlib -c -g > +endif > LFLAGS = > > ifeq ($(ARCH), IA32) > @@ -50,8 +55,7 @@ ifeq ($(ARCH), IA32) > # to x86_64. So make sure tools match uname -m. You can manual have a > 64-bit kernal on Snow Leopard > # so only do this is uname -m returns i386. > # > -uname_s = $(shell uname -s) > -ifeq ($(uname_s),Darwin) > +ifeq ($(DARWIN),Darwin) > CFLAGS += -arch i386 > CPPFLAGS += -arch i386 > LFLAGS += -arch i386 > > > > From: Andrew Fish [mailto:[email protected]] > > Sent: 02 September 2014 17:08 > > To: Olivier Martin > > Cc: [email protected]; [email protected] > > Subject: Re: [PATCH] BaseTools/Source/C: Removed '-Wno-self-assign' > from Makefile > > > > > > On Sep 2, 2014, at 3:45 AM, Olivier Martin <[email protected]> > wrote: > > > > > > Dear BaseTools maintainer, > > > > GCC 3.4.2 does not support this compiler flag. > > It prevents to build BaseTools on RHEL 5.8. > > > > > > Olivier, > > > > Clang will not compile the tools without -Wno-self-assign, so this > change will break clang. > > > > gcc -c -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno- > deprecated-declarations -nostdlib -c -g -I .. -I ../Include/Common -I > ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I > ../Include/X64/ LzmaCompress.c -o LzmaCompress.o > > LzmaCompress.c:46:48: error: explicitly assigning a variable of type > 'void *' to itself [-Werror,-Wself-assign] > > static void *SzAlloc(void *p, size_t size) { p = p; return > MyAlloc(size); } > > ~ ^ ~ > > LzmaCompress.c:47:48: error: explicitly assigning a variable of type > 'void *' to itself [-Werror,-Wself-assign] > > static void SzFree(void *p, void *address) { p = p; MyFree(address); > } > > > > Thanks, > > > > Andrew Fish > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Olivier Martin <[email protected]> > > > > Regards, > > Olivier > > <BaseTools-Source-C-Removed-Wno-self-assign-from-Makefile.patch> > > ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
