public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Unreviewed patch
@ 2002-07-25  7:34 Momchil Velikov
  2002-07-25  9:24 ` Unreviewed patch / {PATCH] Do not override configure decision about inhibit_libc Joern Rennecke
  0 siblings, 1 reply; 9+ messages in thread
From: Momchil Velikov @ 2002-07-25  7:34 UTC (permalink / raw)
  To: gcc; +Cc: joern.rennecke

HEAD fails to build for ``sh-elf'' target.
http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00433.html

~velco

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision about  inhibit_libc
  2002-07-25  7:34 Unreviewed patch Momchil Velikov
@ 2002-07-25  9:24 ` Joern Rennecke
  2002-07-25  9:46   ` Momchil Velikov
  0 siblings, 1 reply; 9+ messages in thread
From: Joern Rennecke @ 2002-07-25  9:24 UTC (permalink / raw)
  To: Momchil Velikov; +Cc: gcc, dje, Zack Weinberg

Momchil Velikov wrote:
> 
> HEAD fails to build for ``sh-elf'' target.
> http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00433.html
> 
> ~velco

The sole purpose of embed-bb.c is to provide the
infrastructure for arc profiling to newlib targets, where
unfortunately, inhibit_libc is set. 
 
How do you build a usable sh-elf compiler without newlib
in the first place?

-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision about  inhibit_libc
  2002-07-25  9:24 ` Unreviewed patch / {PATCH] Do not override configure decision about inhibit_libc Joern Rennecke
@ 2002-07-25  9:46   ` Momchil Velikov
  2002-07-25  9:51     ` Joern Rennecke
  0 siblings, 1 reply; 9+ messages in thread
From: Momchil Velikov @ 2002-07-25  9:46 UTC (permalink / raw)
  To: Joern Rennecke; +Cc: gcc, dje, Zack Weinberg

>>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
Joern> How do you build a usable sh-elf compiler without newlib
Joern> in the first place?

Huh ? The compiler by itself does not require newlib nor does the
produced code, right ?

~velco

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision about   inhibit_libc
  2002-07-25  9:46   ` Momchil Velikov
@ 2002-07-25  9:51     ` Joern Rennecke
  2002-07-25 10:01       ` Momchil Velikov
  0 siblings, 1 reply; 9+ messages in thread
From: Joern Rennecke @ 2002-07-25  9:51 UTC (permalink / raw)
  To: Momchil Velikov; +Cc: gcc, dje, Zack Weinberg

Momchil Velikov wrote:
> 
> >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
> Joern> How do you build a usable sh-elf compiler without newlib
> Joern> in the first place?
> 
> Huh ? The compiler by itself does not require newlib nor does the
> produced code, right ?

It you need header files for the compiler if you compile code
that include any of them.  And you need the c library if any
function of it is used.
	
-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision about   inhibit_libc
  2002-07-25  9:51     ` Joern Rennecke
@ 2002-07-25 10:01       ` Momchil Velikov
  2002-07-25 11:01         ` Joern Rennecke
  0 siblings, 1 reply; 9+ messages in thread
From: Momchil Velikov @ 2002-07-25 10:01 UTC (permalink / raw)
  To: Joern Rennecke; +Cc: gcc, dje, Zack Weinberg

>>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:

Joern> Momchil Velikov wrote:
>> 
>> >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
Joern> How do you build a usable sh-elf compiler without newlib
Joern> in the first place?
>> 
>> Huh ? The compiler by itself does not require newlib nor does the
>> produced code, right ?

Joern> It you need header files for the compiler if you compile code
Joern> that include any of them.  And you need the c library if any
Joern> function of it is used.

I can think of at least three legitimate cases:

I. Use the compiler in a freestanding environment - no libraies or
headers exist at all.

II. Build and install the libraries after building the compiler - way
more convenient than installing headers only, building the compiler,
going back and building the libraries.

III. In a cross compilation environment, the headers may not be on the
same machine.

~velco

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision  about   inhibit_libc
  2002-07-25 10:01       ` Momchil Velikov
@ 2002-07-25 11:01         ` Joern Rennecke
  2002-07-25 11:22           ` Momchil Velikov
  2002-07-28 22:31           ` Richard Zidlicky
  0 siblings, 2 replies; 9+ messages in thread
From: Joern Rennecke @ 2002-07-25 11:01 UTC (permalink / raw)
  To: Momchil Velikov; +Cc: gcc, dje, Zack Weinberg

Momchil Velikov wrote:
> 
> >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
> 
> Joern> Momchil Velikov wrote:
> >>
> >> >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
> Joern> How do you build a usable sh-elf compiler without newlib
> Joern> in the first place?
> >>
> >> Huh ? The compiler by itself does not require newlib nor does the
> >> produced code, right ?
> 
> Joern> It you need header files for the compiler if you compile code
> Joern> that include any of them.  And you need the c library if any
> Joern> function of it is used.
> 
> I can think of at least three legitimate cases:
> 
> I. Use the compiler in a freestanding environment - no libraies or
> headers exist at all.

Is there a demand for this configuration?  In that case, we should
have something more fine-grained that inhibit_libc, which suppresses
the profiling support along with eprintf.
	
> II. Build and install the libraries after building the compiler - way
> more convenient than installing headers only, building the compiler,
> going back and building the libraries.

It's also more convenient that writing all the binaries by hand.  But
still moe convenient is just to use a unified source tree and build
everything in one go.
> 
> III. In a cross compilation environment, the headers may not be on the
> same machine.

Why would you want to build the libraries on a different machine than
the compiler?
	
-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision  about   inhibit_libc
  2002-07-25 11:01         ` Joern Rennecke
@ 2002-07-25 11:22           ` Momchil Velikov
  2002-07-25 23:23             ` Joern Rennecke
  2002-07-28 22:31           ` Richard Zidlicky
  1 sibling, 1 reply; 9+ messages in thread
From: Momchil Velikov @ 2002-07-25 11:22 UTC (permalink / raw)
  To: Joern Rennecke; +Cc: gcc

>>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
Joern> Momchil Velikov wrote:
>> I can think of at least three legitimate cases:
>> 
>> I. Use the compiler in a freestanding environment - no libraies or
>> headers exist at all.

Joern> Is there a demand for this configuration?  In that case, we should
Joern> have something more fine-grained that inhibit_libc, which suppresses
Joern> the profiling support along with eprintf.

I'd think disabling profiling in the environments, which do not
support stdio is prefferable to disabling the use of GCC in these
environments.

~velco

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision   about   inhibit_libc
  2002-07-25 11:22           ` Momchil Velikov
@ 2002-07-25 23:23             ` Joern Rennecke
  0 siblings, 0 replies; 9+ messages in thread
From: Joern Rennecke @ 2002-07-25 23:23 UTC (permalink / raw)
  To: Momchil Velikov; +Cc: gcc, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 794 bytes --]

Momchil Velikov wrote:
> Joern> Is there a demand for this configuration?  In that case, we should
> Joern> have something more fine-grained that inhibit_libc, which suppresses
> Joern> the profiling support along with eprintf.
> 
> I'd think disabling profiling in the environments, which do not
> support stdio is prefferable to disabling the use of GCC in these
> environments.

Yes, but currently inhibit_libc is set automatically for all newlib
toolchains, so if we disabled profiling using inhibit_libc, profiling
would be disabled altogether for newlib toolchains.  We have to get rid of
this automatic setting of inhibit_libc so that inhibit_libc actually
means somehing again.
	
-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330

[-- Attachment #2: dont-inhibit-newlibc --]
[-- Type: text/plain, Size: 2375 bytes --]

Thu Jul 25 22:40:05 2002  J"orn Rennecke <joern.rennecke@superh.com>

	* configure.in (inhibit_libc): For newlib, set to -Dinhibit_eprintf.
	* libgcc2.c (__eprintf): Also inhibited by inhibit_eprintf.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.610
diff -p -r1.610 configure.in
*** configure.in	14 Jul 2002 01:59:13 -0000	1.610
--- configure.in	25 Jul 2002 21:39:58 -0000
*************** fi
*** 1144,1157 ****
  # have its own set of headers then define
  # inhibit_libc
  
! # If this is using newlib, then define inhibit_libc in LIBGCC2_CFLAGS.
! # This prevents libgcc2 from containing any code which requires libc
! # support.
  inhibit_libc=
! if [test x$host != x$target] && [test x$with_headers = x]; then
!        inhibit_libc=-Dinhibit_libc
  else
!        if [test x$with_newlib = xyes]; then
                 inhibit_libc=-Dinhibit_libc
         fi
  fi
--- 1144,1157 ----
  # have its own set of headers then define
  # inhibit_libc
  
! # If this is using newlib, then define inhibit_libc in LIBGCC2_CFLAGS to
! # -Dinhibit_eprintf.  We should not be using __eprintf because newlib
! # has its own version of assert.h
  inhibit_libc=
! if [test x$with_newlib = xyes]; then
!        inhibit_libc=-Dinhibit_eprintf
  else
!        if [test x$host != x$target] && [test x$with_headers = x]; then
                 inhibit_libc=-Dinhibit_libc
         fi
  fi
Index: libgcc2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/libgcc2.c,v
retrieving revision 1.144
diff -p -r1.144 libgcc2.c
*** libgcc2.c	22 Jul 2002 00:15:49 -0000	1.144
--- libgcc2.c	25 Jul 2002 21:39:58 -0000
*************** __gcc_bcmp (const unsigned char *s1, con
*** 1214,1220 ****
     for binary backward compatibility.  Note that it is not included in
     the shared version of libgcc.  */
  #ifdef L_eprintf
! #ifndef inhibit_libc
  
  #undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch.  */
  #include <stdio.h>
--- 1214,1220 ----
     for binary backward compatibility.  Note that it is not included in
     the shared version of libgcc.  */
  #ifdef L_eprintf
! #if ! defined (inhibit_libc) && ! defined (inhibit_eprintf)
  
  #undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch.  */
  #include <stdio.h>

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

* Re: Unreviewed patch / {PATCH] Do not override configure decision about   inhibit_libc
  2002-07-25 11:01         ` Joern Rennecke
  2002-07-25 11:22           ` Momchil Velikov
@ 2002-07-28 22:31           ` Richard Zidlicky
  1 sibling, 0 replies; 9+ messages in thread
From: Richard Zidlicky @ 2002-07-28 22:31 UTC (permalink / raw)
  To: Joern Rennecke; +Cc: Momchil Velikov, gcc, dje, Zack Weinberg

On Thu, Jul 25, 2002 at 01:41:16PM +0100, Joern Rennecke wrote:
> Momchil Velikov wrote:
> > 
> > >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
> > 
> > Joern> Momchil Velikov wrote:
> > >>
> > >> >>>>> "Joern" == Joern Rennecke <joern.rennecke@superh.com> writes:
> > Joern> How do you build a usable sh-elf compiler without newlib
> > Joern> in the first place?
> > >>
> > >> Huh ? The compiler by itself does not require newlib nor does the
> > >> produced code, right ?
> > 
> > Joern> It you need header files for the compiler if you compile code
> > Joern> that include any of them.  And you need the c library if any
> > Joern> function of it is used.
> > 
> > I can think of at least three legitimate cases:
> > 
> > I. Use the compiler in a freestanding environment - no libraies or
> > headers exist at all.
> 
> Is there a demand for this configuration? 

yes. Keeping everything in sync is lot of pain, right now I came
across a problem where distcc fails with '-g' option because the 
remote compiler was configured for different binutils..

Richard

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

end of thread, other threads:[~2002-07-28  8:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-25  7:34 Unreviewed patch Momchil Velikov
2002-07-25  9:24 ` Unreviewed patch / {PATCH] Do not override configure decision about inhibit_libc Joern Rennecke
2002-07-25  9:46   ` Momchil Velikov
2002-07-25  9:51     ` Joern Rennecke
2002-07-25 10:01       ` Momchil Velikov
2002-07-25 11:01         ` Joern Rennecke
2002-07-25 11:22           ` Momchil Velikov
2002-07-25 23:23             ` Joern Rennecke
2002-07-28 22:31           ` Richard Zidlicky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).