This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


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: 32-bit buildbot builders broken [Re: Your commit 'Build GDB as a C++ program by default' broke GDB]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]