Thread: Linux templates

Linux templates

From
Peter Eisentraut
Date:
We've got 7 linux templates all doing the same thing, and one more
(s390) coming up. How about putting them all into one?

Any news on why linux_alpha defines CPU=alpha, which
is used in backend/storage/ipc/Makefile:

ifeq ($(CPU),alpha)
ifeq ($(CC), gcc)
CFLAGS+= -fno-inline
endif
ifeq ($(CC), egcs)
CFLAGS+= -fno-inline
endif
endif

(Certainly a compiler bug -- what's the latest on that?)

and in backend/utils/adt/Makefile:

ifeq ($(CPU),alpha)
ifeq ($(CC), gcc)
CFLAGS+= -mieee
endif
ifeq ($(CC), egcs)
CFLAGS+= -mieee
endif
endif

(Reading the documentation on this, it seems that we should perhaps
compile the entire source with -mieee, rather than having certain parts
work more "correctly" than others.)

--
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden


Re: Linux templates

From
Bruce Momjian
Date:
[ Charset ISO-8859-1 unsupported, converting... ]
> We've got 7 linux templates all doing the same thing, and one more
> (s390) coming up. How about putting them all into one?
>
> Any news on why linux_alpha defines CPU=alpha, which
> is used in backend/storage/ipc/Makefile:
>
> ifeq ($(CPU),alpha)
> ifeq ($(CC), gcc)
> CFLAGS+= -fno-inline
> endif
> ifeq ($(CC), egcs)
> CFLAGS+= -fno-inline
> endif
> endif

For some reason, alpha was not defined on some platforms, I think.


>
> (Certainly a compiler bug -- what's the latest on that?)
>
> and in backend/utils/adt/Makefile:
>
> ifeq ($(CPU),alpha)
> ifeq ($(CC), gcc)
> CFLAGS+= -mieee
> endif
> ifeq ($(CC), egcs)
> CFLAGS+= -mieee
> endif
> endif
>
> (Reading the documentation on this, it seems that we should perhaps
> compile the entire source with -mieee, rather than having certain parts
> work more "correctly" than others.)

There was some goofy problem in the past with this flag, and making it
happen only in certain places helped some problem.  I don't really
remember the cause at this point.  CVS log may show it.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [PORTS] Re: Linux templates

From
Uncle George
Date:
Actually, from compiling your latest version , the CPU= equate did a strange
thing. I expected CPU=alpha, but it placed instead CPU=alpha_ev56 ( or
something like that ) the ev56 is a particular alpha processor ( like
pentium II, III, 486 ... ).
no-inline for the alpha/cc compiler was necessary because the in-lining of
assembler code ( the  test and set code ) did not work without getting lock
failures.
The -mieee flag tells the cc compiler to wait for FP traps to maybe happen.
Without this flag the FP errors will not be ieee754(?) comforment, and
therefor not produce the same results as the i386 port.  But u pay for this
feature ( u gotta wait for the FP processing to complete before going on ).
At one point, having the -mieee switch on ment that the compiler would
insert waits, even where no FP processing has occured. I do not know of the
current state of the -mieee switch ( ie more carefull where stalls are
inserted ). I limit my usage of -mieee to only the modules that do FP work.
/gat


Bruce Momjian wrote:

> [ Charset ISO-8859-1 unsupported, converting... ]
> > We've got 7 linux templates all doing the same thing, and one more
> > (s390) coming up. How about putting them all into one?
> >
> > Any news on why linux_alpha defines CPU=alpha, which
> > is used in backend/storage/ipc/Makefile:
> >
> > ifeq ($(CPU),alpha)
> > ifeq ($(CC), gcc)
> > CFLAGS+= -fno-inline
> > endif
> > ifeq ($(CC), egcs)
> > CFLAGS+= -fno-inline
> > endif
> > endif
>
> For some reason, alpha was not defined on some platforms, I think.
>
> >
> > (Certainly a compiler bug -- what's the latest on that?)
> >
> > and in backend/utils/adt/Makefile:
> >
> > ifeq ($(CPU),alpha)
> > ifeq ($(CC), gcc)
> > CFLAGS+= -mieee
> > endif
> > ifeq ($(CC), egcs)
> > CFLAGS+= -mieee
> > endif
> > endif
> >
> > (Reading the documentation on this, it seems that we should perhaps
> > compile the entire source with -mieee, rather than having certain parts
> > work more "correctly" than others.)
>
> There was some goofy problem in the past with this flag, and making it
> happen only in certain places helped some problem.  I don't really
> remember the cause at this point.  CVS log may show it.