[rfc] [0/9] Multi-target support
Ulrich Weigand
uweigand@de.ibm.com
Mon Nov 19 17:24:00 GMT 2007
Pierre Muller wrote:
> Yes, I started in a new directory.
> mkdir build-all
> cd build-all
> ../src/configure --enable-targets=all
> make all-gdb
OK, thanks for verifying.
> I checked in bfd/bfd.h and BFD_ARCH_SIZE was set to 32 there.
So this looks like a bug in the --enable-target=all support:
apparently in BFD, if both host and target are 32-bit, then
--enable-target=all does not actually add support for all
targets, but only for all 32-bit targets. If you really want
*all* targets, you have to use --enable-64-bit-bfd as well.
I guess I'll have to adapt GDB's --enable-target=all support
to follow the same rules ...
> Adding --enable-64-bit-bfd I still needed to add WERROR_CFLAGS=""
> because I got warnings in win32-nat.c, which implicitly assumes that
> CORE_ADDR is 32 bit long.
Now this is a bug in win32-nat.c, which would have already shown up
if you attempted to build a regular win32 -> amd64-linux (for example)
cross-debugger.
> Should all nat files be able to handle the case where
> sizeof(CORE_ADDR) is strictly greater then sizeof( void *)
> and do explicit conversion for that?
Yes. There should be an explicit conversion via uintptr_t (defined
in "gdb_stdint.h"). Other nat files already to that as appropriate.
> I also got a problem with the m2-exp.y yacc file
> conflicts: 15 shift/reduce, 15 reduce/reduce
> conflicts: 5 shift/reduce
> conflicts: 34 shift/reduce
> /home/Pierre/gdbcvs/build-all/gdb/../../src/gdb/m2-exp.y:354.25-44: warning:
> rule never reduced because of conflicts: @2: /* empty */
>
> But after checking, this warning is also present for a simple build without
> option.
Hmm, this looks like another pre-existing problem. Unfortunately,
I'm not very familiar with yacc/bison details ...
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com
More information about the Gdb-patches
mailing list