Re: [PATCH] asm offsets for i386

Brian Gerst
2003-03-27T18:00:30Z

Pete Zaitcev wrote:
>>[Resend]
>>
>>This patch creates an asm-offsets.c file for i386, and removes the
>>hardcoded constants from several asm files.
>>
>>--
>> Brian Gerst
>
>
> Doesn't seem to be worth the trouble because thread_info
> is a small structure, not embedded into a big structure
> as thread_struct was. DaveM removed the automatic
> offset generation on sparc64 and I am thinking to do
> the same on sparc.
>
> I'm not surprised that nobody answered, the patch seems
> to be rather pointless.
>
> We might want to add something like this:
>
> if (TI_CPU != offsetof(struct thread_info, cpu) ||
> TI_PREEMPT != offsetof(struct thread_info, preempt_count) ||
> TI_SOFTIRQ != offsetof(struct thread_info, softirq_count) ||
> TI_HARDIRQ != offsetof(struct thread_info, hardirq_count))
> thread_info_offsets_are_bolixed_linus();
>
> It gives out an link time error.
>
> -- Pete
>

I already caught one bug with this, since someone recently added values
to the feature flags array and didn't fix up the vendor id offset. What
you propose fails with some non-gcc compilers (Intel's compiler for
example, which supports gcc extensions) that don't optimize it away.

--
Brian Gerst