[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13818: 24.3.50; Bootstrap failed on Cygwin due to revno: 111870
From: |
Paul Eggert |
Subject: |
bug#13818: 24.3.50; Bootstrap failed on Cygwin due to revno: 111870 |
Date: |
Wed, 27 Feb 2013 00:02:25 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3 |
On 02/26/2013 02:59 PM, Katsumi Yamaoka wrote:
> (There's nothing about data_start in config.log .)
Odd. Ken Brown said there was something in his config.log.
For now I'll assume his version.
On 02/26/2013 03:13 PM, Ken Brown wrote:
> The problem seems to be that HAVE_DATA_START is defined to 1,
> but DATA_START is not defined.
That should be OK. HAVE_DATA_START says that the
external symbol data_start works. DATA_START is
a macro, which can mean something else and which is
to some extent independent of HAVE_DATA_START.
(Yes, it's confusing...)
> configure:10083: checking for data_start
> configure:10099: gcc -std=gnu99 -o conftest.exe -g3 -O2 conftest.c >&5
> configure:10099: $? = 0
> configure:10107: result: yes
If I'm understanding things correctly, this means the
following little test program compiles and links OK.
Can you please check this?
extern char data_start[];
char ch;
int
main ()
{
return data_start == &ch;
}
If this compiles and links, we need to find out why
the similar usage in vm-limit.c does not link.
Can you please compile the above program
with gcc -std=gnu99 -O2 -S and see what
the machine code looks like?
Also, suppose we change this test program to the following
instead -- does this test program compile and link?
extern char data_start[];
char ch;
int
main ()
{
return data_start < &ch;
}
>> Also, please examine the output of "gcc -E ... vm-limit.c",
>> where "..." contains the same flags as used for compiling
>> vm-limit.c, to see how data_start was declared and defined
>> in the preprocessor output.
>
> It's declared as
>
> extern char data_start[];
>
> but never defined.
That should be OK, since the test program linked.
That is, the linker should automatically define
data_start; the program shouldn't have to define it.
But for some reason it's working in the test program
but not for vm-limit.c, and we need to figure out why
there's a discrepancy.