The latest chameleon (r631) added a lot great features, such as P/C state generation, thus I decided to try it out. However, it cause hang on my computer. So I checked it code and found some potential issues:
When calling "DT__AddProperty", the data stored in the address that argument "value" point to shall remain unchanged utill "DT__FlattenDeviceTree" is call.
However, in "acpc_patcher.c", the caller to addConfigurationTable (then call DT__AddProperty), at line 716,717,1066,1072, using address of local variables, which are on the stack, when those functions finish, the data in those address will be trashed, thus cause the problem. What do you think?