This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [crosstool-ng] [patch] Re: powerpc 860 and glibc sysdeps/powerpc/power3/memset.S: CPU15 "dcbX" errata


Hello Nye!
Hello All!

On Monday 27 October 2008 20:42:05 Nye Liu wrote:
> I have finished my prelim testing of my memset.S patch for 8xx. It seems
> to work,

Cool! :-)

> HOWEVER, i had to play some silly games with environment 
> variables.
> It seems that CFLAGS does NOT get used for sysdeps .S targets, so I had
> some trouble figuring out how to get the glibc build process to pass
> BROKEN_PPC_8xx_CPU15 into gcc when building memset.o from memset.S

It sounds pretty right. CFLAGS is for C code, ASFLAGS is for assembly.

> ASFLAGS does get used, but 'configure' does not seem to pass ASFLAGS
> from the environment into the built makefiles.

That is sad... But I'm not realy surprised, either.

> I was forced to add it to 
> one of the "make" commands in glibc.sh. I did not add it to all of them
> because i think it is ONLY needed for the final C-library build.

That's correct. We don't need it for headers, and the start files should
not need it either.

> Also included in this patch is the configfile used for the testing.

Nice!

> Note that gdbserver static still does not work with nptl, i am building
> a shared gdbserver.

We'll deal with that later... That's a separate issue.

> Thanks again for your time and patience!

Thank _you_ for testing and for the patch! :-)
However, I have a few comments. See below, inlined in relevant parts...

> --- scripts/build/arch/powerpc.sh	(revision 1158)
> +++ scripts/build/arch/powerpc.sh	(working copy)
> @@ -7,6 +7,13 @@
>      # The kernel ARCH:
>      CT_KERNEL_ARCH=powerpc
>  
> +    case "${CT_ARCH_CPU}" in
> +	8??)
> +	    # http://sourceware.org/ml/crossgcc/2008-10/msg00068.html
> +	    CT_DoLog DEBUG "Activating support for memset on broken ppc-8xx (CPU15 erratum)"
> +	    CT_ARCH_LIBC_GLIBC_EXTRA_ASFLAGS="-DBROKEN_PPC_8xx_CPU15";;

Thinking more thoroughly about it, this is purely a glibc issue. So this
case...esac  really has its place in glibc.sh. I know, I said the oposite
earlier. Sorry, I was too quick to write without thinking... :-(

The architecture file should not be poisoned by C library (or any other
component) specifics.

> --- scripts/crosstool.sh	(revision 1158)
> +++ scripts/crosstool.sh	(working copy)
> @@ -79,6 +79,7 @@
>  CT_TARGET_LDFLAGS="${CT_ARCH_TARGET_LDFLAGS} ${CT_TARGET_LDFLAGS}"
>  CT_CC_CORE_EXTRA_CONFIG="${CT_ARCH_CC_CORE_EXTRA_CONFIG} ${CT_CC_CORE_EXTRA_CONFIG}"
>  CT_CC_EXTRA_CONFIG="${CT_ARCH_CC_EXTRA_CONFIG} ${CT_CC_EXTRA_CONFIG}"
> +CT_LIBC_GLIBC_EXTRA_ASFLAGS="${CT_ARCH_LIBC_GLIBC_EXTRA_ASFLAGS} ${CT_LIBC_GLIBC_EXTRA_ASFLAGS}"

This is not the right place. I'm at fault here, because CT_CC_EXTRA_CONFIG
et al. do not belong here either. *I* will clean up that. Nonetheless, it
does not belong here, but in glibc.sh.

Also, the variable CT_LIBC_GLIBC_EXTRA_ASFLAGS exists nowhere else in the code.
I do not think it is worth handling it the same as CT_LIBC_GLIBC_EXTRA_CFLAGS
for now. Should the need arise, we'll add a config option later.

> --- samples/powerpc-860-linux-gnu/reported.by	(revision 0)
> +++ samples/powerpc-860-linux-gnu/reported.by	(revision 0)
> @@ -0,0 +1,3 @@
> +reporter_name="Nye Liu"
> +reporter_url="mailto:nyet@xxx.yyy";

Rather than an e-mail address, I'd prefer an URL, where people can refer to
should they need more info. I just point to the begin of the thread on the
crossgcc mailing list archives (which you can't obvioulsy know when
posting...)

Also, don't forget that the files are available via svnweb, and thus get
harvested by spambots. Do you really want your email to be scanned?

I'm a bit overwhelmed right now... Can you address the above few points,
please?

Regards, and keep up the good work!
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| --==< ^_^ >==-- `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]