Patchwork SerialICE Build Error

login
register
about
Submitter Cristi Magherusan
Date 2009-10-02 03:49:30
Message ID <1254455370.28556.31.camel@ufo>
Download mbox | patch
Permalink /patch/322/
State Superseded
Headers show

Comments

Cristi Magherusan - 2009-10-02 03:49:30
On Thu, 2009-10-01 at 22:11 -0400, Joseph Smith wrote:
> [root@smitty5m SerialICE-1.0]# make
> gcc -O2 -Wall -o romcc util/romcc.c
> util/romcc.c: In function ‘simplify_load’:
> util/romcc.c:9925: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> util/romcc.c:9926: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> util/romcc.c:9927: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> util/romcc.c: In function ‘get_const_pool_ref’:
> util/romcc.c:23846: warning: format ‘%ld’ expects type ‘long int’, but 
> argument 3 has type ‘size_t’
> util/romcc.c:23851: warning: format ‘%ld’ expects type ‘long int’, but 
> argument 3 has type ‘size_t’
> util/romcc.c: In function ‘print_sdecl’:
> util/romcc.c:24660: warning: format ‘%ld’ expects type ‘long int’, but 
> argument 3 has type ‘size_t’
> ./romcc -mcpu=i386 -I. -Imainboard -o serialice.S serialice.c
> i386-elf-as -o serialice.o serialice.S
> make: i386-elf-as: Command not found
> make: *** [serialice.o] Error 127
> 
> Any ideas?
Try the attached patch

Signed-off-by: Cristi Măgherușan <cristi.magherusan@net.utcluj.ro>

Regards,
Cristi
ron minnich - 2009-10-02 04:03:46
This might work but you're probably better off building with the cross
tools I expect.

ron
Cristi Magherusan - 2009-10-02 04:40:24
On Thu, 2009-10-01 at 21:03 -0700, ron minnich wrote:
> This might work but you're probably better off building with the cross
> tools I expect.
> 
> ron
Yes, maybe those work better, but the problem with them is that there's
no uniform name across distributions.

My approach needs the 32bit toolchain to be installed on x86-64, with no
assumption on the cross-prefix of the binaries, but the toolchain must
support multilib in order for it to work.

Cristi
Joseph Smith - 2009-10-02 10:19:29
On 10/02/2009 12:40 AM, Cristi Magherusan wrote:
> On Thu, 2009-10-01 at 21:03 -0700, ron minnich wrote:
>> This might work but you're probably better off building with the cross
>> tools I expect.
>>
>> ron
> Yes, maybe those work better, but the problem with them is that there's
> no uniform name across distributions.
>
> My approach needs the 32bit toolchain to be installed on x86-64, with no
> assumption on the cross-prefix of the binaries, but the toolchain must
> support multilib in order for it to work.
>
Thanks Cristi I will try your patch. I don't know if it makes a 
difference but I am running Fedora Core 11, and I already have the 
libelf and binutils packages installed, that is why I am a bit 
surprised. Did Fedora put the elf cross building tools in a different 
package on fc11?
Cristi Magherusan - 2009-10-02 10:38:02
On Fri, 2009-10-02 at 06:19 -0400, Joseph Smith wrote:
> On 10/02/2009 12:40 AM, Cristi Magherusan wrote:
> > On Thu, 2009-10-01 at 21:03 -0700, ron minnich wrote:
> >> This might work but you're probably better off building with the cross
> >> tools I expect.
> >>
> >> ron
> > Yes, maybe those work better, but the problem with them is that there's
> > no uniform name across distributions.
> >
> > My approach needs the 32bit toolchain to be installed on x86-64, with no
> > assumption on the cross-prefix of the binaries, but the toolchain must
> > support multilib in order for it to work.
> >
> Thanks Cristi I will try your patch. I don't know if it makes a 
> difference but I am running Fedora Core 11, and I already have the 
> libelf and binutils packages installed, that is why I am a bit 
> surprised. Did Fedora put the elf cross building tools in a different 
> package on fc11?
> 
No idea, but my Ubuntu also had issues with the tools. I guess the
makefile was first written on Suse so there it may be work out of the
box.

Cristi
Joseph Smith - 2009-10-03 02:12:44
On 10/01/2009 11:49 PM, Cristi Magherusan wrote:
> On Thu, 2009-10-01 at 22:11 -0400, Joseph Smith wrote:
>> [root@smitty5m SerialICE-1.0]# make
>> gcc -O2 -Wall -o romcc util/romcc.c
>> util/romcc.c: In function ‘simplify_load’:
>> util/romcc.c:9925: warning: dereferencing type-punned pointer will break
>> strict-aliasing rules
>> util/romcc.c:9926: warning: dereferencing type-punned pointer will break
>> strict-aliasing rules
>> util/romcc.c:9927: warning: dereferencing type-punned pointer will break
>> strict-aliasing rules
>> util/romcc.c: In function ‘get_const_pool_ref’:
>> util/romcc.c:23846: warning: format ‘%ld’ expects type ‘long int’, but
>> argument 3 has type ‘size_t’
>> util/romcc.c:23851: warning: format ‘%ld’ expects type ‘long int’, but
>> argument 3 has type ‘size_t’
>> util/romcc.c: In function ‘print_sdecl’:
>> util/romcc.c:24660: warning: format ‘%ld’ expects type ‘long int’, but
>> argument 3 has type ‘size_t’
>> ./romcc -mcpu=i386 -I. -Imainboard -o serialice.S serialice.c
>> i386-elf-as -o serialice.o serialice.S
>> make: i386-elf-as: Command not found
>> make: *** [serialice.o] Error 127
>>
>> Any ideas?
> Try the attached patch
>
> Signed-off-by: Cristi Măgherușan<cristi.magherusan@net.utcluj.ro>
>
> Regards,
> Cristi
>
>
Hmm Cristi, now with your patch I'm getting:

[joe@smitty5m SerialICE-1.0]$ make
gcc -O2 -Wall -o romcc util/romcc.c
util/romcc.c: In function ‘simplify_load’:
util/romcc.c:9925: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
util/romcc.c:9926: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
util/romcc.c:9927: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
util/romcc.c: In function ‘get_const_pool_ref’:
util/romcc.c:23846: warning: format ‘%ld’ expects type ‘long int’, but 
argument 3 has type ‘size_t’
util/romcc.c:23851: warning: format ‘%ld’ expects type ‘long int’, but 
argument 3 has type ‘size_t’
util/romcc.c: In function ‘print_sdecl’:
util/romcc.c:24660: warning: format ‘%ld’ expects type ‘long int’, but 
argument 3 has type ‘size_t’
./romcc -mcpu=i386 -I. -Imainboard -o serialice.S serialice.c
as --32 -o serialice.o serialice.o.s
Assembler messages:
Error: can't open serialice.o.s for reading: No such file or directory
make: *** [serialice.o] Error 1

Patch

diff -Naur /tmp/SerialICE-1.2/Makefile ./Makefile

--- /tmp/SerialICE-1.2/Makefile	2009-10-02 02:59:01.000000000 +0300

+++ ./Makefile	2009-10-02 06:44:04.000000000 +0300

@@ -23,13 +23,12 @@ 

 HOSTCFLAGS= -O2 -Wall
 PCREFLAGS=-I/opt/local/include -L/opt/local/lib -lpcre
 
-CROSS=i386-elf-

-AS=$(CROSS)as

-CC=$(CROSS)gcc

-OBJCOPY=$(CROSS)objcopy

-NM=$(CROSS)nm

+AS=as

+CC=gcc

+OBJCOPY=objcopy

+NM=nm

 
-LDFLAGS=-Wa,--divide -nostdlib -nostartfiles -static -T serialice.ld

+LDFLAGS = --32 -Wa,--divide -nostdlib -nostartfiles -static -T serialice.ld

 
 SOURCES = serialice.c chipset.c config.h serial.c types.h mainboard/*.c
 
@@ -58,7 +57,7 @@ 

 	$(NM) $@ | sort -u > serialice-gcc.map
 
 serialice-pre.s: $(SOURCES) ./xmmstack
-	$(CC) -I. -Imainboard -fomit-frame-pointer -fno-stack-protector -DVERSION=\"$(VERSION)\" -S $< -o serialice-pre.s

+	$(CC) --32 -I. -Imainboard -fomit-frame-pointer -fno-stack-protector -DVERSION=\"$(VERSION)\" -S $< -o serialice-pre.s

 
 serialice-gcc.S: serialice-pre.s
 	./xmmstack serialice-pre.s
@@ -79,4 +78,4 @@ 

 
 %.o: %.S
 	$(CPP) -DVERSION=\"$(VERSION)\" -o $@.s $^
-	$(AS) -o $@ $@.s

+	$(AS) --32 -o $@ $@.s