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: Patch to allow gcc test-suite to compile correctly


Andy, All,

On Friday 25 June 2010 123330 Andy Gibbs wrote:
> Attached is a small patch that allows the new (experimental) test-suite 
> feature to compile.  It was previously failing because it was looking for 
> the "contrib/gcc-test-suite" folder inside ${CT_LIB_DIR} but the crosstool 
> "make install" was not copying it across.  The patch therefore is to the 
> Makefile.in file to ensure that the "contrib" folder is copied into the 
> ${CT_LIB_DIR} on "make install".

Thank you! I will apply tonight when I'm back home.

> I toyed with the idea of also changing "scripts/build/test_suite/gcc.sh" to 
> copy "${CT_LIB_DIR}/contrib/gcc-test-suite/*" rather than the three files 
> separately.  Is there a reason for copying the files individually?  If a 
> file is added or removed in this directory then the "gcc.sh" file must also 
> be updated.

Well, I'd rather keep it that way for now.

I have been thinking that the test-suite framework should be re-thinked,
as I don't much like duplicating files.

After all, the gcc test-suite belong to the gcc component, and should be
handled there. I was just tricked by this. While reading your mail, I
went searching in the gcc build script, instead of the gcc test-suite
in its own directory. That's not convenient.

I'd rather that every components test for smthg like ${CT_TEST_SUITE} and
install their test-suites if they have one, rather than the test-suite
framework re-implement per-component functions.

And the config menu should just add a single test-suite knob, in the
"Toolchain options" sub-menu, section "General toolchain options".

Plus, those three files are pretty generic, in fact. No need to duplicate
them for each and every components. Just tweak them a bit so direct
references to gcc are changed into examples.

All the crosstool-NG internals have to do is install only those three files,
components install their test-suites, and we've got a simple
test-suite run-time framework. Just run:
  cd "${TOOLCHAIN_DIR}/test-suite"
  make gcc
  make glibc
  make -j4 binutils gdb gdbserver whatever
  rm -rf "${TOOLCHAIN_DIR}/test-suite"

We could be clever, and run many test-suites in //, or even more clever and
allow each test-suite to run mutiple tests in //. That'd be a nice use of
modern multi-core CPUs! :-]

Regards,
Yann E. MORIN.

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