Release 2.21.1 ?

Sedat Dilek sedat.dilek@googlemail.com
Wed Mar 16 15:34:00 GMT 2011


On Wed, Mar 16, 2011 at 10:37 AM, Sedat Dilek
<sedat.dilek@googlemail.com> wrote:
> On Wed, Mar 16, 2011 at 9:50 AM, Tristan Gingold <gingold@adacore.com> wrote:
>>
>> On Mar 16, 2011, at 7:44 AM, Sedat Dilek wrote:
>>
>>> Hi,
>>>
>>> while handling several breakages in linux-next kernel, it showed PR
>>> gas/12519 (see [1]) is somehow incomplete as it gives no pointer to
>>> the symbol name in case of an error.
>>> "Mention symbol name in non-constant .size expression." (see [2]) as a
>>> follow-up patch definitely helps to enlighten developer's where to dig
>>> into occuring problems.
>>> "Revert the last change on gas/elf/bad-size.err." (see [3]) is a fixup to [2].
>>>
>>> It would be nice to see [2] and [3] backported to 2.21-branch.
>>
>> Why not.
>>
>> Does it make sense to generate a warning instead of an error in 2.21.1 for backward bug-compatibility ?
>> Alan, what's your opinion ?
>>
>> Tristan.
>>
>>
>
> H.J. offered a proposal patch ("PATCH: Add
> --size-check=[error|warning]") [1] with an easy switch opportunity and
> H. Peter Anvin illustrated how the warning switch can be used from
> command-line [2].
>
> IIRC there was no official decision what will be the default behaviour:
> binutils developers mostly advocate "error" as default, whereas  a lot
> of Linux kernel developers want "warning" as default.
>
> Unfortunately, I could not apply (and test) H.J.'s proposal patch and
> requested a proper one [3].
>
> - Sedat -
>
>
> [1] http://sourceware.org/ml/binutils/2011-03/msg00214.html
> [2] http://sourceware.org/ml/binutils/2011-03/msg00283.html
> [3] http://sourceware.org/ml/binutils/2011-03/msg00263.html
>

Hi,

I have cherry-picked commit 8bba209217cab2e7fb949768ffc4a5d40ecc144a
("Add --size-check=[error|warning].") from upstream and built a Debian
package on top of binutils (2.21.0.20110302-2) source package.

I returned to the linux-next (next-20110308) which I reported as
"broken" and currently building a new kernel (it's not finished yet,
make -j=1).

Instructions:

$ cd $BUILD_DIR
$ make CC='gcc -Wa,--size-check=warning'

Check current build-log:

$ egrep 'Assembler messages:|Warning: .size expression with symbol'
build.log
/home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S:
Assembler messages:
/home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/entry_32.S:1421:
Warning: .size expression with symbol `apf_page_fault' does not
evaluate to a constant
/home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/acpi/wakeup_rm.S:
Assembler messages:
/home/sd/src/linux-2.6/linux-2.6.38-rc7/debian/build/source_i386_none/arch/x86/kernel/acpi/wakeup_rm.S:12:
Warning: .size expression with symbol `wakeup_code_start' does not
evaluate to a constant
...

Nice, it works as expected :-).
( These were the two places I discovered, but this time the kernel
building is not interrupted. )

/me is just fine with the default behaviour of (my freshly-built)
binutils/as "--size-check=error".

Thanks to all involved people for their help, especially to H.J. for
providing a patch and solution!

Regards,
- Sedat -

P.S.: These 3 patches should be backported to 2.21-branch.

$ LC_ALL=C ls -l patches
total 16
-rw-r--r-- 1 sd sd 3137 Mar 16 14:45
0001-Mention-symbol-name-in-non-constant-.size-expression.patch
-rw-r--r-- 1 sd sd  948 Mar 16 14:45
0002-Revert-the-last-change-on-gas-elf-bad-size.err.patch
-rw-r--r-- 1 sd sd 7782 Mar 16 14:45 0003-Add-size-check-error-warning.patch



More information about the Binutils mailing list