Patchwork don't build multilib libraries during bootstrap, and disable some libstdc++ features

login
register
mail settings
Submitter Matthias Klose
Date Dec. 10, 2012, 1:53 p.m.
Message ID <50C5E95A.9070708@ubuntu.com>
Download mbox | patch
Permalink /patch/204880/
State New
Headers show

Comments

Matthias Klose - Dec. 10, 2012, 1:53 p.m.
Am 10.12.2012 13:16, schrieb Matthias Klose:
> During bootstrap some things are built which are not required for the bootstrap:
> 
>  - multilib libraries
>  - libstdc++ debug library, when configured with --enable-libstdcxx-debug
>  - libstdc++ precompiled header files
> 
> The attached patch disables building these during the bootstrap stages. The
> additional dependencies on all-target-libgcc are necessary for multilib'd
> builds, or else the configury bails out finding the wrong libgcc. I can't see a
> way to add these dependencies for the multilib enabled build only.

Here is a reduced version which keeps building the multilibs, maybe better
suited for stage3.

  Matthias
H.J. Lu - Dec. 10, 2012, 2:04 p.m.
On Mon, Dec 10, 2012 at 5:53 AM, Matthias Klose <doko@ubuntu.com> wrote:
> Am 10.12.2012 13:16, schrieb Matthias Klose:
>> During bootstrap some things are built which are not required for the bootstrap:
>>
>>  - multilib libraries
>>  - libstdc++ debug library, when configured with --enable-libstdcxx-debug
>>  - libstdc++ precompiled header files
>>
>> The attached patch disables building these during the bootstrap stages. The
>> additional dependencies on all-target-libgcc are necessary for multilib'd
>> builds, or else the configury bails out finding the wrong libgcc. I can't see a
>> way to add these dependencies for the multilib enabled build only.
>
> Here is a reduced version which keeps building the multilibs, maybe better
> suited for stage3.
>

Can I still use -m32 with stage1 and stage2 compilers on
Linux/x86-64?

Patch

Index: Makefile.tpl
===================================================================
--- Makefile.tpl	(Revision 194357)
+++ Makefile.tpl	(Arbeitskopie)
@@ -1060,7 +1060,9 @@ 
 	  --target=[+target_alias+] $${srcdiroption} [+ IF prev +]\
 	  --with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\
 	  $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
-	  [+extra_configure_flags+][+ ENDIF extra_configure_flags +]
+	  [+extra_configure_flags+][+ ENDIF extra_configure_flags +] \
+	  [+ IF bootstrap_configure_flags +][+bootstrap_configure_flags+] \
+	  [+ ENDIF bootstrap_configure_flags +]
 @endif [+prefix+][+module+]-bootstrap
 [+ ENDFOR bootstrap_stage +]
 [+ ENDIF bootstrap +]
Index: Makefile.def
===================================================================
--- Makefile.def	(Revision 194357)
+++ Makefile.def	(Arbeitskopie)
@@ -117,7 +117,8 @@ 
 target_modules = { module= libstdc++-v3;
 		   bootstrap=true;
 		   lib_path=src/.libs;
-		   raw_cxx=true; };
+		   raw_cxx=true;
+		   bootstrap_configure_flags='--disable-libstdcxx-debug --disable-libstdcxx-pch'; };
 target_modules = { module= libmudflap; lib_path=.libs; };
 target_modules = { module= libsanitizer; lib_path=.libs; };
 target_modules = { module= libssp; lib_path=.libs; };