svn commit: r281721 - head/sys/sys

Bruce Evans brde at optusnet.com.au
Mon Apr 20 16:20:10 UTC 2015


On Mon, 20 Apr 2015, John Baldwin wrote:

> On Sunday, April 19, 2015 12:33:22 AM Justin Hibbits wrote:
>> Log:
>>   Fix the build.  Commit the last part of e500 PMC.
>> ...
>> @@ -136,6 +138,7 @@ enum pmc_cputype {
>>  	__PMC_CLASS(MIPS74K)	/* MIPS 74K */				\
>>  	__PMC_CLASS(PPC7450)	/* Motorola MPC7450 class */		\
>>  	__PMC_CLASS(PPC970)	/* IBM PowerPC 970 class */		\
>> +	__PMC_CLASS(E500)	/* Freescale e500 class */		\
>>  	__PMC_CLASS(SOFT)	/* Software events */
>
> Note that each time a PMC_CLASS is added, the ABI for pmccontrol -L
> breaks since the enum value of the "SOFT" class changes.  We should
> perhaps fix the value of SOFT to make this less painful (just as we
> fix the values for PMC_CPU so that those don't change).

Enums should never be used in ABIs, since their size can be anything
large enough.

They also cause namespace problems.  The whole enum declaration must
be exposed in any header that uses an enum type.

Bruce


More information about the svn-src-head mailing list