Re: Problem building GDB for sparc-rtems

Joel Sherrill
2011-05-19T13:44:09Z

On 05/19/2011 08:07 AM, David Paterson wrote:
> On Thu, May 19, 2011 at 11:39 AM, Ralf Corsepius
> <ralf.corsepius@rtems.org> wrote:
>> On 05/19/2011 12:11 PM, David Paterson wrote:
>>> Thanks Ralf - I'll change the scripts (although as you say it
>>> shouldn't make a difference).
>> All patterns in all binutils, gcc and gdb configuration scripts are supposed
>> to match on "sparc-rtems*", so it should not actually matter.
> Yeah, I noticed that as well, but I'll change the name for consistency with the
> standard RTEMS conventions. It'll keep us on the same page.
>
>>>> I am building all *-rtems targets fairly frequently without many problems
>>>> (cf. ftp://ftp.rtems.org/pub/rtems/linux/4.11).
>>>>
>>>> However gdb's dependencies are a royal pain and occasionally cause
>>>> building
>>>> gdb produce bizarre errors. Which host OS are you using?
>>> I'm using MinGW under Windows 7. If that's likely to be a problem I could
>>> set up a VM for Linux.
>> It likely is a problem.
> Ah, in that case I'll switch over to a Unix environment and try that. I'd hoped
> the MinGW environment was similar enough, but there may be subtle differences.
>
There are a few things I recall from using MinGW. The shell
(/bin/sh) can be insufficient to do builds with. The make command
itself can be insufficient.

On Windows, the spaces in PATH is bad. If you have or
have had Visual Studio installed, common environment
variable names like LIB, CC, CFLAGS, etc from Visual
Studio will often interfere.

You can build under MinGW but you have to be very careful
to ensure it is "full enough" to build and avoid picking up
Windows-isms like tools and environment variables.

>> I am building mingw32 RTEMS packages Canadian-cross under Fedora
>> c.f. http://www.rtems.org/ftp/pub/rtems/mingw32
>>
>> http://www.rtems.org/ftp/pub/rtems/mingw32/4.11/rtems-4.11-sparc-rtems4.11-gdb/
>> contains sparc-rtems4.11-gdb-7.2
>>
>> (Despite the target name, these packages should also be usable with
>> rtems4.10.)
> I notice there's also a mingw32/4.10 directory, so I should perhaps try using
> that version first.
>
>>> It all looks OK, and the makefiles seem to be sensible, but I'll check
>>> through
>>> it again. I've done a diff between the "sparc-rtems" and "sparc-elf"
>>> versions
>>> of the build and nothing obvious jumps out.
>> I have no idea. As you correctly found out, sparc-rtems*-gdb and
>> sparc-elf*-gdb are almost identical.
>> The only real difference is the official RTEMS packages have patches
>> applied, which are not in FSF's gdb.
>> Dunno, if you are using these patches - If so, timestamps could make a
>> difference.
>>
>> However none of our patches explain your breakdown.
> I am, as you guess, using the raw GCC sources to build my toolchain,
> and ploughed on merrily with GDB as well. It's possible that there is a
> patch which affects this, so I'll try your patched ones and see if that
> works. If not, I'll switch to Linux and try again.
>
I doubt the RTEMS patch will have any impact. It is likely
just something in your MinGW environment.

Do a "env" command and check that for obviously common
names which could impact the GNU tools.

Fix your PATH to only include MinGW directories.

Make sure /bin/sh is bash.

make sure "make" is GNU make.

Then try again.
> Thanks again, and I'll update once I've tried these rebuilds...
>
> David P.

--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985