Re: 32-bit buildbot builders broken [Re: Your commit 'Build GDB as a C++ program by default' broke GDB]

Antoine Tremblay <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Sergio Durigan Junior writes:

> On Wednesday, April 27 2016, Antoine Tremblay wrote:
>
>> Sergio Durigan Junior writes:
>>
>>> On Thursday, April 21 2016, Pedro Alves wrote:
>>>
>>>>> g++ -g -O2   -I. -I../../binutils-gdb/gdb -I../../binutils-gdb/gdb/common
>>>>> -I../../binutils-gdb/gdb/config
>>>> ...
>>>>> -I../../binutils-gdb/gdb/../libdecnumber
>>>>> -I../../binutils-gdb/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1
>>>>> -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall
>>>>> -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function
>>>>> -Wno-switch -Wno-char-subscripts -Wempty-body -Wno-sign-compare
>>>>> -Wno-write-strings -Wno-narrowing -Wformat-nonliteral -Werror -c -o
>>>>> linux-thread-db.o -MT linux-thread-db.o -MMD -MP -MF
>>>>> .deps/linux-thread-db.Tpo ../../binutils-gdb/gdb/linux-thread-db.c
>>>>> In file included from ../../binutils-gdb/gdb/i386-linux-nat.c:25:0:
>>>>> ../../binutils-gdb/gdb/i386-linux-nat.c: In function void fetch_regs(regcache*, int):
>>>>> ../../binutils-gdb/gdb/i386-linux-nat.c:207:46: error: cast from elf_greg_t (*)[27] {aka long long unsigned int (*)[27]} to int loses precision [-fpermissive]
>>>>>    if (ptrace (PTRACE_GETREGS, tid, 0, (int) &regs) < 0)
>>>>
>>>>
>>>> ... however this error is exactly what you get if you compile with a
>>>> 64-bit compiler, and forget to pass -m32 to gcc/g++.  IOW, 
>>>> it compiles i386-linux-nat.c as if for a 64-bit host, which fails.
>>>>
>>>> So I suspect the builder is using CC="gcc -m32", and now that a C++ compiler
>>>> is involved, it needs to be updated to pass CXX="g++ -m32" as well.
>>>
>>> Yeah, actually I was setting CFLAGS without setting CXXFLAGS for these
>>> builders, so I fixed that now.  Thanks for letting me know, and sorry
>>> about that.
>>
>> I was looking at
>> http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m32/builds/3499/steps/configure%20gdb/logs/stdio
>>
>> And it seems it builds in 64 bit, there's no --host=i386... or -m32 ?
>
> Hey Antoine,
>
> Thanks for the message.  So, as I said on IRC, the purpose of this
> builder is to perform a 64-bit compilation of GDB (i.e., without -m32),
> but run the testsuite on 32-bit mode (i.e., passing
> --target_board=unix/-m32 to runtest).
>
> Maybe the builder's name is confusing, and I apologize for that.  I
> could try to add a better description of it on the page.
>
Hehe yes thanks for the clarification, I was actually looking at an
example to build a 32bit gdb and I just clicked on the m32 tag...

Guess I went too fast there.

Thanks,
Antoine
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.