Regression fails for make 3.80+3.81.b4-1

Bug #51905 reported by Florian Zschocke
4
Affects Status Importance Assigned to Milestone
make-dfsg (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: make

Make 3.80+3.81.b4-1 in Dapper Drake fails on a Makefile that works fine with Make 3.80-9 under Breezy. The Makefile is the one from the examples directory of U-Boot.

Revision history for this message
Florian Zschocke (zschocke) wrote :
Download full text (3.5 KiB)

No attaching files in this bug tracker? Well, then here it is copy-n-paste.

The non-working Makefile, unedited.

#
# (C) Copyright 2000-2004
# Wolfgang Denk, DENX Software Engineering, <email address hidden>.
#
# See file CREDITS for list of people who contributed to this
# project.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#

ifeq ($(ARCH),ppc)
LOAD_ADDR = 0x40000
endif

ifeq ($(ARCH),i386)
LOAD_ADDR = 0x40000
endif

ifeq ($(ARCH),arm)
LOAD_ADDR = 0xc100000
endif

ifeq ($(ARCH),mips)
LOAD_ADDR = 0x80200000 -T mips.lds
endif

ifeq ($(ARCH),nios)
LOAD_ADDR = 0x00800000 -L $(gcclibdir)/m32 -T nios.lds
endif

ifeq ($(ARCH),nios2)
LOAD_ADDR = 0x00800000 -L $(gcclibdir) -T nios2.lds
endif

ifeq ($(ARCH),m68k)
LOAD_ADDR = 0x20000 -L $(clibdir)
endif

ifeq ($(ARCH),microblaze)
LOAD_ADDR = 0x80F00000
endif

include $(TOPDIR)/config.mk

SREC = hello_world.srec
BIN = hello_world.bin hello_world

ifeq ($(CPU),mpc8xx)
SREC = test_burst.srec
BIN = test_burst.bin test_burst
endif

ifeq ($(ARCH),i386)
SREC += 82559_eeprom.srec
BIN += 82559_eeprom.bin 82559_eeprom
endif

ifeq ($(ARCH),ppc)
SREC += sched.srec
BIN += sched.bin sched
endif

# The following example is pretty 8xx specific...
ifeq ($(CPU),mpc8xx)
SREC += timer.srec
BIN += timer.bin timer
endif

# The following example is 8260 specific...
ifeq ($(CPU),mpc8260)
SREC += mem_to_mem_idma2intr.srec
BIN += mem_to_mem_idma2intr.bin mem_to_mem_idma2intr
endif

# Utility for resetting i82559 EEPROM
ifeq ($(BOARD),oxc)
SREC += eepro100_eeprom.srec
BIN += eepro100_eeprom.bin eepro100_eeprom
endif

ifeq ($(BIG_ENDIAN),y)
EX_LDFLAGS += -EB
endif

OBJS = $(SREC:.srec=.o)

LIB = libstubs.a
LIBAOBJS=
ifeq ($(ARCH),ppc)
LIBAOBJS+= $(ARCH)_longjmp.o $(ARCH)_setjmp.o
endif
ifeq ($(CPU),mpc8xx)
LIBAOBJS+= test_burst_lib.o
endif
LIBCOBJS= stubs.o
LIBOBJS = $(LIBAOBJS) $(LIBCOBJS)

gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
clibdir := $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)

CPPFLAGS += -I..

all: .depend $(OBJS) $(LIB) $(SREC) $(BIN)

#########################################################################
$(LIB): .depend $(LIBOBJS)
        $(AR) crv $@ $(LIBOBJS)

%: %.o $(LIB)
        $(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
                -o $@ -e $(<:.o=) $< $(LIB) \
                -L$(gcclibdir) -lgcc
%.srec: %
        $(OBJCOPY) -O srec $< $@ 2>/dev...

Read more...

Revision history for this message
Florian Zschocke (zschocke) wrote :
Download full text (3.9 KiB)

Here is the error:

| make -C examples all
| make[1]: Entering directory `/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/examples'
| powerpc-linux-uclibc-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /oedata/yanos/build/tmp/cross/lib/gcc/powerpc-linux-uclibc/3.4.4/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -DCFG_MONITOR_BASE=0xFFF00000 -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/board -Wall -Wstrict-prototypes -c -o hello_world.o hello_world.c
| powerpc-linux-uclibc-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /oedata/yanos/build/tmp/cross/lib/gcc/powerpc-linux-uclibc/3.4.4/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -DCFG_MONITOR_BASE=0xFFF00000 -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/board -Wall -Wstrict-prototypes -c -o sched.o sched.c
| powerpc-linux-uclibc-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /oedata/yanos/build/tmp/cross/lib/gcc/powerpc-linux-uclibc/3.4.4/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -DCFG_MONITOR_BASE=0xFFF00000 -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/board -Wall -Wstrict-prototypes -c -o mem_to_mem_idma2intr.o mem_to_mem_idma2intr.c
| powerpc-linux-uclibc-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /oedata/yanos/build/tmp/cross/lib/gcc/powerpc-linux-uclibc/3.4.4/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -DCFG_MONITOR_BASE=0xFFF00000 -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/board -c -o ppc_longjmp.o /oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/examples/ppc_longjmp.S| powerpc-linux-uclibc-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /oedata/yanos/build/tmp/cross/lib/gcc/powerpc-linux-uclibc/3.4.4/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -DCONFIG_CPM2 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -DCFG_MONITOR_BASE=0xFFF00000 -DTEXT_BASE=0xFFF00000 -I/oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/board -c -o ppc_setjmp.o /oedata/yanos/build/tmp/work/u-boot-1.1.4-r0/u-boot/examples/ppc_setjmp.S
| powerpc-linux-uclibc-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BA...

Read more...

Revision history for this message
Florian Zschocke (zschocke) wrote :

Aaand here is a diff that makes the Makefile work under Dapper. Apparently make 3.81.b4 has some serious problems with exansion. I don't see how this could be correct behaviour. In any case it badly breaks our build system.

--- Makefile.orig 2006-07-05 01:46:46.000000000 +0200
+++ Makefile 2006-07-05 01:47:58.000000000 +0200
@@ -56,39 +56,39 @@
 include $(TOPDIR)/config.mk

 SREC = hello_world.srec
-BIN = hello_world.bin hello_world
+BIN = hello_world hello_world.bin

 ifeq ($(CPU),mpc8xx)
 SREC = test_burst.srec
-BIN = test_burst.bin test_burst
+BIN = test_burst test_burst.bin
 endif

 ifeq ($(ARCH),i386)
 SREC += 82559_eeprom.srec
-BIN += 82559_eeprom.bin 82559_eeprom
+BIN += 82559_eeprom 82559_eeprom.bin
 endif

 ifeq ($(ARCH),ppc)
 SREC += sched.srec
-BIN += sched.bin sched
+BIN += sched sched.bin
 endif

 # The following example is pretty 8xx specific...
 ifeq ($(CPU),mpc8xx)
 SREC += timer.srec
-BIN += timer.bin timer
+BIN += timer timer.bin
 endif

 # The following example is 8260 specific...
 ifeq ($(CPU),mpc8260)
 SREC += mem_to_mem_idma2intr.srec
-BIN += mem_to_mem_idma2intr.bin mem_to_mem_idma2intr
+BIN += mem_to_mem_idma2intr mem_to_mem_idma2intr.bin
 endif

 # Utility for resetting i82559 EEPROM
 ifeq ($(BOARD),oxc)
 SREC += eepro100_eeprom.srec
-BIN += eepro100_eeprom.bin eepro100_eeprom
+BIN += eepro100_eeprom eepro100_eeprom.bin
 endif

 ifeq ($(BIG_ENDIAN),y)
@@ -113,7 +113,7 @@

 CPPFLAGS += -I..

-all: .depend $(OBJS) $(LIB) $(SREC) $(BIN)
+all: .depend $(OBJS) $(LIB) $(BIN) $(SREC)

 #########################################################################
 $(LIB): .depend $(LIBOBJS)
f

Revision history for this message
Florian Zschocke (zschocke) wrote : Makefile that shows bug in Make

Ok, I found the attachment function. So here is the Makefile that Make 3.81.b4 fails on.

Revision history for this message
Matthias Klose (doko) wrote :

please recheck with 3.81

Changed in make:
status: Unconfirmed → Needs Info
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for make-dfsg (Ubuntu) because there has been no activity for 60 days.]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.