Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc/StdLib : Changes to Std LibC to facilitate 32 bit GCC builds
pushed 02a77dd71c22c7c5b74e30b30a5e5b97f330f8f7 Mike > -Original Message- > From: Kinney, Michael D > Sent: Monday, June 27, 2022 10:01 PM > To: devel@edk2.groups.io; Jayaprakash, N ; Kinney, > Michael D > Cc: Rebecca Cran > 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 > > > > -Original Message- > > From: 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 ; Rebecca Cran > > ; Jayaprakash, N > > > 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 > > Cc: Rebecca Cran > > Signed-off-by: Jayaprakash N > > --- > > 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 > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90798): https://edk2.groups.io/g/devel/message/90798 Mute This Topic: https://groups.io/mt/91817430/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
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 > -Original Message- > From: 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 ; Rebecca Cran > ; Jayaprakash, N > 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 > Cc: Rebecca Cran > Signed-off-by: Jayaprakash N > --- > 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 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90797): https://edk2.groups.io/g/devel/message/90797 Mute This Topic: https://groups.io/mt/91817430/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[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 Cc: Rebecca Cran Signed-off-by: Jayaprakash N --- 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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90574): https://edk2.groups.io/g/devel/message/90574 Mute This Topic: https://groups.io/mt/91817430/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-