2013-04-06 11:26:57

by Borislav Petkov

[permalink] [raw]
Subject: Re: Error in linux-3.0.72 build.

On Sat, Apr 06, 2013 at 08:25:57PM +1000, Michael D. Setzer II wrote:
> Just downloaded new kernels, and find this error in build.
>
> fs/built-in.o: In function `find_group_flex':
> /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:359: undefined
> reference to `__udivdi3'
> /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:374: undefined
> reference to `__udivdi3'
> make: *** [.tmp_vmlinux1] Error 1

Looks like your compiler is generating 64-bit division which is a call
into libgcc. Which gcc version are you using?

+ext4 folks.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--


2013-04-06 11:32:12

by Michael D. Setzer II

[permalink] [raw]
Subject: Re: Error in linux-3.0.72 build.

On 6 Apr 2013 at 13:26, Borislav Petkov wrote:

Date sent: Sat, 6 Apr 2013 13:26:57 +0200
From: Borislav Petkov <[email protected]>
To: "Michael D. Setzer II" <[email protected]>
Copies to: [email protected],
[email protected]
Subject: Re: Error in linux-3.0.72 build.

> On Sat, Apr 06, 2013 at 08:25:57PM +1000, Michael D. Setzer II wrote:
> > Just downloaded new kernels, and find this error in build.
> >
> > fs/built-in.o: In function `find_group_flex':
> > /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:359: undefined
> > reference to `__udivdi3'
> > /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:374: undefined
> > reference to `__udivdi3'
> > make: *** [.tmp_vmlinux1] Error 1
>
> Looks like your compiler is generating 64-bit division which is a call
> into libgcc. Which gcc version are you using?
>

gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)

Other two new kernel built fine, and all the previous 3.0.x kernels
have build using the same .config on system.

It is a quad core phenom II machine running Fedora 14 with the
linux32 option to build 32bit kernels for use on my g4l project cd
image.



> +ext4 folks.
>
> --
> Regards/Gruss,
> Boris.
>
> Sent from a fat crate under my desk. Formatting is fine.
> --


+----------------------------------------------------------+
Michael D. Setzer II - Computer Science Instructor
Guam Community College Computer Center
mailto:[email protected]
mailto:[email protected]
http://www.guam.net/home/mikes
Guam - Where America's Day Begins
G4L Disk Imaging Project maintainer
http://sourceforge.net/projects/g4l/
+----------------------------------------------------------+

http://setiathome.berkeley.edu (Original)
Number of Seti Units Returned: 19,471
Processing time: 32 years, 290 days, 12 hours, 58 minutes
(Total Hours: 287,489)

BOINC@HOME CREDITS
SETI 14361044.287140 | EINSTEIN 10723942.979852
ROSETTA 6832434.144171 | ABC 15903532.519753


2013-04-06 12:02:08

by Michael D. Setzer II

[permalink] [raw]
Subject: Re: Error in linux-3.0.72 build.

On 6 Apr 2013 at 13:26, Borislav Petkov wrote:

Date sent: Sat, 6 Apr 2013 13:26:57 +0200
From: Borislav Petkov <[email protected]>
To: "Michael D. Setzer II" <[email protected]>
Copies to: [email protected],
[email protected]
Subject: Re: Error in linux-3.0.72 build.

> On Sat, Apr 06, 2013 at 08:25:57PM +1000, Michael D. Setzer II wrote:
> > Just downloaded new kernels, and find this error in build.
> >
> > fs/built-in.o: In function `find_group_flex':
> > /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:359: undefined
> > reference to `__udivdi3'
> > /home/msetzerii/data/linux-3.0.72/fs/ext4/ialloc.c:374: undefined
> > reference to `__udivdi3'
> > make: *** [.tmp_vmlinux1] Error 1
>
> Looks like your compiler is generating 64-bit division which is a call
> into libgcc. Which gcc version are you using?
>
> +ext4 folks.

Did a diff on the new ialloc.c and the previous one from 3.0.71

348,349c348,349
< ext4_fsblk_t blocks_per_flex = sbi->s_blocks_per_group *
flex_size;
< ext4_fsblk_t flexbg_free_blocks;
---
> int blocks_per_flex = sbi->s_blocks_per_group * flex_size;
> int flexbg_free_blocks;
358c358
< flexbg_free_blocks =
atomic64_read(&flex_group[best_flex].free_blocks);
---
> flexbg_free_blocks =
atomic_read(&flex_group[best_flex].free_blocks);
373c373
< flexbg_free_blocks =
atomic64_read(&flex_group[i].free_blocks);
---
> flexbg_free_blocks =
atomic_read(&flex_group[i].free_blocks);
383,384c383,384
< ((atomic64_read(&flex_group[i].free_blocks) >
<
atomic64_read(&flex_group[best_flex].free_blocks)) &&
---
> ((atomic_read(&flex_group[i].free_blocks) >
> atomic_read(&flex_group[best_flex].free_blocks))
&&
390c390
< !atomic64_read(&flex_group[best_flex].free_blocks))
---
> !atomic_read(&flex_group[best_flex].free_blocks))
409d408
< __u64 free_blocks;
410a410
> __u32 free_blocks;
427c427
< stats->free_blocks =
atomic64_read(&flex_group[g].free_blocks);
---
> stats->free_blocks =
atomic_read(&flex_group[g].free_blocks);

>
> --
> Regards/Gruss,
> Boris.
>
> Sent from a fat crate under my desk. Formatting is fine.
> --


+----------------------------------------------------------+
Michael D. Setzer II - Computer Science Instructor
Guam Community College Computer Center
mailto:[email protected]
mailto:[email protected]
http://www.guam.net/home/mikes
Guam - Where America's Day Begins
G4L Disk Imaging Project maintainer
http://sourceforge.net/projects/g4l/
+----------------------------------------------------------+

http://setiathome.berkeley.edu (Original)
Number of Seti Units Returned: 19,471
Processing time: 32 years, 290 days, 12 hours, 58 minutes
(Total Hours: 287,489)

BOINC@HOME CREDITS
SETI 14361044.287140 | EINSTEIN 10723942.979852
ROSETTA 6832434.144171 | ABC 15903532.519753