Skip to contentSkip to conversation

2.5.17: hfs no go

DISCUSSION A Guy Called Tyketto 3 participants 4 messages May 21, 2002

lore
Share & tools
lore
#0 lore raw

subject sez it all:

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=trans -c -o trans.o trans.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=version -c -o version.o version.c
ld -m elf_i386 -r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'

# File systems
#
CONFIG_REISERFS_FS=m
CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_MINIX_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_DEVFS_DEBUG=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y

Signature · 4 lines
Brad Littlejohn                         | Email:        [email protected]
Unix Systems Administrator,             |           [email protected]
Web + NewsMaster, BOFH.. Smeghead! :)   |   http://www.wizard.com/~tyketto
  PGP: 1024D/E319F0BF 6980 AAD6 7329 E9E6 D569  F620 C819 199A E319 F0BF
#1 lore raw
Quoted 13 lines · A Guy Called Tyketto

subject sez it all:

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes

(quoted diff) +0 -4
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe 
-mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h 
-DKBUILD_BASENAME=trans -c -o trans.o trans.c

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes

(quoted diff) +0 -4
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe 
-mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h 
-DKBUILD_BASENAME=version -c -o version.o version.c
Quoted 6 lines

ld -m elf_i386 -r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'

Sorry.. left out the important part. here's the bulk of the compile
leading to the problem:

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=file_hdr -c -o file_hdr.o file_hdr.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=inode -c -o inode.o inode.c
inode.c: In function `hfs_prepare_write':
inode.c:242: dereferencing pointer to incomplete type
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=mdb -c -o mdb.o mdb.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=part_tbl -c -o part_tbl.o part_tbl.c

.
.
.

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=sysdep -c -o sysdep.o sysdep.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=trans -c -o trans.o trans.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=version -c -o version.o version.c
ld -m elf_i386 -r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'

Signature · 4 lines
Brad Littlejohn                         | Email:        [email protected]
Unix Systems Administrator,             |           [email protected]
Web + NewsMaster, BOFH.. Smeghead! :)   |   http://www.wizard.com/~tyketto
  PGP: 1024D/E319F0BF 6980 AAD6 7329 E9E6 D569  F620 C819 199A E319 F0BF
#2 lore raw
In reply to A Guy Called Tyketto

Review

Quoted 12 lines · A Guy Called Tyketto

gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes

(quoted diff) +0 -4
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe 
-mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h 
-DKBUILD_BASENAME=inode -c -o inode.o inode.c

inode.c: In function `hfs_prepare_write':
inode.c:242: dereferencing pointer to incomplete type
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes

(quoted diff) +0 -4
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe 
-mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h 
-DKBUILD_BASENAME=mdb -c -o mdb.o mdb.c

Okay, I think Christoph Hellwig already gave you the right hint on how to fix the actual problem in inode.c.

However, this snippet also shows a glitch I introduced, i.e. make wouldn't stop the build on error immediately, as it used to.

So here's the fix for that one.

--Kai

# --------------------------------------------
# 02/05/21 [email protected] 1.584
# kbuild: Stop immediately on error
#
# This patch restores the previous behavior of stopping the build

# immediately on error (unless the -k option is given to make)
# --------------------------------------------
#
diff -Nru a/Rules.make b/Rules.make
--- a/Rules.make	Tue May 21 09:08:38 2002
+++ b/Rules.make	Tue May 21 09:08:38 2002
@@ -380,5 +380,5 @@
 if_changed = $(if $(strip $? \
 		          $(filter-out $($(1)),$(cmd_$(@F)))\
 			  $(filter-out $(cmd_$(@F)),$($(1)))),\
-	       @echo $($(1)); $($(1)); echo 'cmd_$(@F) := $($(1))' > $(@D)/.$(@F).cmd)
+	       @echo $($(1)); $($(1)) || exit $$?; echo 'cmd_$(@F) := $($(1))' > $(@D)/.$(@F).cmd)