public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-libc Patch 0/1] Changes to StdLib to facilitate gcc 32 bit builds
@ 2022-06-17  8:41 Jayaprakash, N
  2022-06-17  8:41 ` [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds Jayaprakash, N
  0 siblings, 1 reply; 4+ messages in thread
From: Jayaprakash, N @ 2022-06-17  8:41 UTC (permalink / raw)
  To: devel

This patch contains the changes required for StdLib to facilitate the 
gcc 32 bit builds. 

Jayaprakash Nevara (1):
  edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds

 StdLib/LibC/CRT/Gcc.c | 7 +++++++
 StdLib/LibC/LibC.inf  | 7 +++----
 2 files changed, 10 insertions(+), 4 deletions(-)

-- 
2.33.0.windows.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
  2022-06-17  8:41 [edk2-libc Patch 0/1] Changes to StdLib to facilitate gcc 32 bit builds Jayaprakash, N
@ 2022-06-17  8:41 ` Jayaprakash, N
  2022-06-28  5:01   ` [edk2-devel] " Michael D Kinney
  0 siblings, 1 reply; 4+ messages in thread
From: Jayaprakash, N @ 2022-06-17  8:41 UTC (permalink / raw)
  To: devel; +Cc: Michael D Kinney, Rebecca Cran, Jayaprakash N

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3779

This comit fixes the Python interpreter build issues with GCC 32 bit
compiler tool chain. The changes are needed in StdLibC as given below

* Add __divmoddi4 to Gcc.c produced by newer GCC compilers
* Add -fno-lto to IA32 GCC builds of LibC.inf to support use of
  GCC intrinsics from Gcc.c.
* Moved Main/Ia32/ftol2.obj in LibC.inf from binaries section to
  Sources.IA32 required only for MSFT IA32 compiler tool chain

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Rebecca Cran <rebecca@nuviainc.com>
Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
---
 StdLib/LibC/CRT/Gcc.c | 7 +++++++
 StdLib/LibC/LibC.inf  | 7 +++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/StdLib/LibC/CRT/Gcc.c b/StdLib/LibC/CRT/Gcc.c
index cbf4ec2..bc1a4b2 100644
--- a/StdLib/LibC/CRT/Gcc.c
+++ b/StdLib/LibC/CRT/Gcc.c
@@ -193,3 +193,10 @@ unsigned long long __umodti3(unsigned long long Dividend, unsigned long long Div
 
   return (unsigned long long) Remainder;
 }
+
+INT64 __divmoddi4 (INT64 num, INT64 den, INT64 *rem_p)
+{
+  DEBUG((DEBUG_INFO, "%a:\n", __func__));
+  return DivS64x64Remainder (num, den, rem_p);
+}
+
diff --git a/StdLib/LibC/LibC.inf b/StdLib/LibC/LibC.inf
index 5bb2053..4771204 100644
--- a/StdLib/LibC/LibC.inf
+++ b/StdLib/LibC/LibC.inf
@@ -46,7 +46,8 @@
   Main/Ia32/fpu_rmode.S   | GCC
   Main/Ia32/isinfl.c
   Main/Ia32/isnanl.c
-
+  Main/Ia32/ftol2.obj     | MSFT
+  
   # Compiler helper (C RunTime) functions
   CRT/Ia32/llmul.c          | MSFT    # __allmul
   CRT/Ia32/llshl.c          | MSFT    # __allshl
@@ -88,9 +89,6 @@
 [Sources.AARCH64]
   Main/Arm/flt_rounds.c
 
-[Binaries.IA32]
-  LIB|Main/Ia32/ftol2.obj|*|MSFT
-
 [Packages]
   StdLib/StdLib.dec
   StdLibPrivateInternalFiles/DoNotUse.dec
@@ -116,4 +114,5 @@
 #
 [BuildOptions]
   MSFT:*_*_IA32_CC_FLAGS = /GL-
+  GCC:*_*_IA32_CC_FLAGS = -fno-lto
   GCC:*_*_ARM_CC_FLAGS = -fno-lto
-- 
2.33.0.windows.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
  2022-06-17  8:41 ` [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds Jayaprakash, N
@ 2022-06-28  5:01   ` Michael D Kinney
  2022-06-28  5:03     ` Michael D Kinney
  0 siblings, 1 reply; 4+ messages in thread
From: Michael D Kinney @ 2022-06-28  5:01 UTC (permalink / raw)
  To: devel@edk2.groups.io, Jayaprakash, N, Kinney, Michael D; +Cc: Rebecca Cran

Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Jayaprakash, N
> Sent: Friday, June 17, 2022 1:42 AM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Rebecca Cran <rebecca@nuviainc.com>; Jayaprakash, N <n.jayaprakash@intel.com>
> Subject: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3779
> 
> This comit fixes the Python interpreter build issues with GCC 32 bit
> compiler tool chain. The changes are needed in StdLibC as given below
> 
> * Add __divmoddi4 to Gcc.c produced by newer GCC compilers
> * Add -fno-lto to IA32 GCC builds of LibC.inf to support use of
>   GCC intrinsics from Gcc.c.
> * Moved Main/Ia32/ftol2.obj in LibC.inf from binaries section to
>   Sources.IA32 required only for MSFT IA32 compiler tool chain
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Rebecca Cran <rebecca@nuviainc.com>
> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> ---
>  StdLib/LibC/CRT/Gcc.c | 7 +++++++
>  StdLib/LibC/LibC.inf  | 7 +++----
>  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/StdLib/LibC/CRT/Gcc.c b/StdLib/LibC/CRT/Gcc.c
> index cbf4ec2..bc1a4b2 100644
> --- a/StdLib/LibC/CRT/Gcc.c
> +++ b/StdLib/LibC/CRT/Gcc.c
> @@ -193,3 +193,10 @@ unsigned long long __umodti3(unsigned long long Dividend, unsigned long long Div
> 
>    return (unsigned long long) Remainder;
>  }
> +
> +INT64 __divmoddi4 (INT64 num, INT64 den, INT64 *rem_p)
> +{
> +  DEBUG((DEBUG_INFO, "%a:\n", __func__));
> +  return DivS64x64Remainder (num, den, rem_p);
> +}
> +
> diff --git a/StdLib/LibC/LibC.inf b/StdLib/LibC/LibC.inf
> index 5bb2053..4771204 100644
> --- a/StdLib/LibC/LibC.inf
> +++ b/StdLib/LibC/LibC.inf
> @@ -46,7 +46,8 @@
>    Main/Ia32/fpu_rmode.S   | GCC
>    Main/Ia32/isinfl.c
>    Main/Ia32/isnanl.c
> -
> +  Main/Ia32/ftol2.obj     | MSFT
> +
>    # Compiler helper (C RunTime) functions
>    CRT/Ia32/llmul.c          | MSFT    # __allmul
>    CRT/Ia32/llshl.c          | MSFT    # __allshl
> @@ -88,9 +89,6 @@
>  [Sources.AARCH64]
>    Main/Arm/flt_rounds.c
> 
> -[Binaries.IA32]
> -  LIB|Main/Ia32/ftol2.obj|*|MSFT
> -
>  [Packages]
>    StdLib/StdLib.dec
>    StdLibPrivateInternalFiles/DoNotUse.dec
> @@ -116,4 +114,5 @@
>  #
>  [BuildOptions]
>    MSFT:*_*_IA32_CC_FLAGS = /GL-
> +  GCC:*_*_IA32_CC_FLAGS = -fno-lto
>    GCC:*_*_ARM_CC_FLAGS = -fno-lto
> --
> 2.33.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
  2022-06-28  5:01   ` [edk2-devel] " Michael D Kinney
@ 2022-06-28  5:03     ` Michael D Kinney
  0 siblings, 0 replies; 4+ messages in thread
From: Michael D Kinney @ 2022-06-28  5:03 UTC (permalink / raw)
  To: devel@edk2.groups.io, Jayaprakash, N, Kinney, Michael D; +Cc: Rebecca Cran

pushed 02a77dd71c22c7c5b74e30b30a5e5b97f330f8f7

Mike


> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Monday, June 27, 2022 10:01 PM
> To: devel@edk2.groups.io; Jayaprakash, N <n.jayaprakash@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: Rebecca Cran <rebecca@nuviainc.com>
> Subject: RE: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
> 
> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Jayaprakash, N
> > Sent: Friday, June 17, 2022 1:42 AM
> > To: devel@edk2.groups.io
> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Rebecca Cran <rebecca@nuviainc.com>; Jayaprakash, N
> <n.jayaprakash@intel.com>
> > Subject: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3779
> >
> > This comit fixes the Python interpreter build issues with GCC 32 bit
> > compiler tool chain. The changes are needed in StdLibC as given below
> >
> > * Add __divmoddi4 to Gcc.c produced by newer GCC compilers
> > * Add -fno-lto to IA32 GCC builds of LibC.inf to support use of
> >   GCC intrinsics from Gcc.c.
> > * Moved Main/Ia32/ftol2.obj in LibC.inf from binaries section to
> >   Sources.IA32 required only for MSFT IA32 compiler tool chain
> >
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Rebecca Cran <rebecca@nuviainc.com>
> > Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
> > ---
> >  StdLib/LibC/CRT/Gcc.c | 7 +++++++
> >  StdLib/LibC/LibC.inf  | 7 +++----
> >  2 files changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/StdLib/LibC/CRT/Gcc.c b/StdLib/LibC/CRT/Gcc.c
> > index cbf4ec2..bc1a4b2 100644
> > --- a/StdLib/LibC/CRT/Gcc.c
> > +++ b/StdLib/LibC/CRT/Gcc.c
> > @@ -193,3 +193,10 @@ unsigned long long __umodti3(unsigned long long Dividend, unsigned long long Div
> >
> >    return (unsigned long long) Remainder;
> >  }
> > +
> > +INT64 __divmoddi4 (INT64 num, INT64 den, INT64 *rem_p)
> > +{
> > +  DEBUG((DEBUG_INFO, "%a:\n", __func__));
> > +  return DivS64x64Remainder (num, den, rem_p);
> > +}
> > +
> > diff --git a/StdLib/LibC/LibC.inf b/StdLib/LibC/LibC.inf
> > index 5bb2053..4771204 100644
> > --- a/StdLib/LibC/LibC.inf
> > +++ b/StdLib/LibC/LibC.inf
> > @@ -46,7 +46,8 @@
> >    Main/Ia32/fpu_rmode.S   | GCC
> >    Main/Ia32/isinfl.c
> >    Main/Ia32/isnanl.c
> > -
> > +  Main/Ia32/ftol2.obj     | MSFT
> > +
> >    # Compiler helper (C RunTime) functions
> >    CRT/Ia32/llmul.c          | MSFT    # __allmul
> >    CRT/Ia32/llshl.c          | MSFT    # __allshl
> > @@ -88,9 +89,6 @@
> >  [Sources.AARCH64]
> >    Main/Arm/flt_rounds.c
> >
> > -[Binaries.IA32]
> > -  LIB|Main/Ia32/ftol2.obj|*|MSFT
> > -
> >  [Packages]
> >    StdLib/StdLib.dec
> >    StdLibPrivateInternalFiles/DoNotUse.dec
> > @@ -116,4 +114,5 @@
> >  #
> >  [BuildOptions]
> >    MSFT:*_*_IA32_CC_FLAGS = /GL-
> > +  GCC:*_*_IA32_CC_FLAGS = -fno-lto
> >    GCC:*_*_ARM_CC_FLAGS = -fno-lto
> > --
> > 2.33.0.windows.1
> >
> >
> >
> > 
> >


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-28  5:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-17  8:41 [edk2-libc Patch 0/1] Changes to StdLib to facilitate gcc 32 bit builds Jayaprakash, N
2022-06-17  8:41 ` [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds Jayaprakash, N
2022-06-28  5:01   ` [edk2-devel] " Michael D Kinney
2022-06-28  5:03     ` Michael D Kinney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox