From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 59732 invoked by alias); 13 Oct 2016 19:21:44 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 59712 invoked by uid 89); 13 Oct 2016 19:21:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=$arg, slave, 7628, Hx-languages-length:4591 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 13 Oct 2016 19:21:33 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1C9EE85545; Thu, 13 Oct 2016 19:21:32 +0000 (UTC) Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u9DJLV3D006701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 13 Oct 2016 15:21:31 -0400 From: Sergio Durigan Junior To: Yao Qi Cc: "gdb-patches\@sourceware.org" Subject: Re: [buildbot] Customized build and board file References: <871szt89tz.fsf@redhat.com> X-URL: http://blog.sergiodj.net Date: Thu, 13 Oct 2016 19:21:00 -0000 In-Reply-To: (Yao Qi's message of "Fri, 7 Oct 2016 15:17:15 +0100") Message-ID: <871szk5a2s.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00385.txt.bz2 On Friday, October 07 2016, Yao Qi wrote: > On Thu, Oct 6, 2016 at 10:08 PM, Sergio Durigan Junior > wrote: >> >> Yes, it is possible to provide specific parameters to a builder, so it >> should be easy to do this. About the new board file, I understand that >> it is just a workaround due to the limitations you mentioned below, and >> as such it is not going to be put upstream, right? We'd also have to >> provide a specific parameter to this builder if we want it to use this >> board file. >> > > Yes, if we have an armv7 box in gcc compile farm, we don't need that > board file at all. The board file won't be upstream. Sorry for the delay. So, I'm trying to decide what is the best way to use the board file. It needs to be placed in the gdb/testsuite/boards/ directory, right? But the way BuildBot works is by making a full clone of the repository on for every build. I *might* be able to upload the file to the ARM slave, but that would require a hack that I'm trying to avoid. >>> Note that this is trade-off among various limitations, >>> - we don't have armv7 devices in gcc compile farm, so we have to emulate >>> on an armv8 machine, >>> - libc6:armhf is not installed on gcc114, so I build the toolchain, and force >>> gdb and test programs use my sysroot. I am going to raise a request to >>> install libc6:armhf, but it may take a while. >> >> It's been a while since I want to have an ARM buildslave on the >> BuildBot, so even with these limitations I still think it's a nice thing >> to have. >> >> Thanks for working on this. I'll have to write special code for this >> buildslave, so let me know when you have everything ready. > > When you write code, please take another requirement into account, > that is, I may set up another buildslave where GDB is built for > aarch64, but test cases are compiled for arm. In this case, nothing > special in configure option, but another board file is needed too. OK, thanks for the heads up. The same comments I made above apply, then. > Here are my steps to build gdb and run tests on gcc114, > > TOOLCHAIN=/home/qiyao/gcc-7/arm-linux-gnueabihf > > cd build-arm > ../binutils-gdb/configure --host=arm-linux-gnueabihf > --target=arm-linux-gnueabihf > CC="$TOOLCHAIN/bin/arm-linux-gnueabihf-gcc > --sysroot=$TOOLCHAIN/sysroot" > CXX="$TOOLCHAIN/bin/arm-linux-gnueabihf-g++ > --sysroot=$TOOLCHAIN/sysroot" > LDFLAGS="-Wl,-dynamic-linker,$TOOLCHAIN/sysroot/lib/ld-linux-armhf.so.3 > -Wl,-rpath,$TOOLCHAIN/sysroot/lib > -Wl,-rpath,$TOOLCHAIN/sysroot/usr/lib -Wl,-rpath,$TOOLCHAIN/lib" > --disable-ld --disable-gold --disable-binutils --disable-gas > --disable-gprof > PATH=$TOOLCHAIN/bin:$PATH make -j32 > cd gdb > PATH=/home/qiyao/gcc-7/arm-linux-gnueabihf/bin:$PATH make check > RUNTESTFLAGS='--target_board=unix-aarch32' OK, I'll work on getting this set up. It'll take a bit of time to test it, but I'll let you know. > and unix-aarch32.exp is: > --------------------- > unset_board_info isremote > set_board_info isremote 0 > > load_generic_config "unix" > > process_multilib_options "" > > set toolchain_base "/home/qiyao/gcc-7/arm-linux-gnueabihf" > > set_board_info compiler "${toolchain_base}/bin/arm-linux-gnueabihf-gcc > --sysroot=${toolchain_base}/sysroot" > set_board_info c++compiler > "${toolchain_base}/bin/arm-linux-gnueabihf-g++ > --sysroot=${toolchain_base}/sysroot" > set_board_info f77compiler > "${toolchain_base}/bin/arm-linux-gnueabihf-gfortran > --sysroot=${toolchain_base}/sysroot" > set_board_info f90compiler > "${toolchain_base}/bin/arm-linux-gnueabihf-gfortran > --sysroot=${toolchain_base}/sysroot" > > set_board_info ldflags > "-Wl,-dynamic-linker,${toolchain_base}/sysroot/lib/ld-linux-armhf.so.3 > -Wl,-rpath,${toolchain_base}/sysroot/usr/lib/ > -Wl,-rpath,${toolchain_base}/sysroot/lib > -Wl,-rpath,${toolchain_base}/lib" > > set_board_info gdb_init_commands [list "set libthread-db-search-path > ${toolchain_base}/sysroot/lib" "set auto-load safe-path /" "set > sysroot /" ] > > proc gdb_load { arg } { > global gdb_prompt > > foreach command [gdb_init_commands] { > send_gdb "$command\n" > gdb_expect 30 { > -re "$gdb_prompt $" { } > default { > perror "gdb_init_command for target failed" > return > } > } > } > > if { $arg != "" } { > return [gdb_file_cmd $arg] > } > return 0 > } > --------------------------- > > There are 1138 test fails but I didn't triage them yet. Thanks, -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/