Here's the actual implementation that I have used with success in my projects.
The thing you might want to do is create a new header file that is #included in os_tasks.h. I called mine mqxutil.h. It looks like this:
/*
* mqxutil.h
*
* Created on: Feb 11, 2016
* Author: Dave
*/
#ifndef SHARED_MQXUTIL_H_
#define SHARED_MQXUTIL_H_
/*
* This macro is hijacked from the KSDK and modified to put a task's stack into the m_data_2 section
*/
#define OSA_TASK_DEFINE2(task, stackSize) \
__attribute__((section(".m_data_2"))) task_stack_t task##_stack[MQX_REQUIRED_STACK_SIZE(stackSize)/sizeof(task_stack_t)+1]; \
task_handler_t task##_task_handler;
#endif /* SHARED_MQXUTIL_H_ */
Now in your Generated_Code folder, in each of the .c files that corresponds to your tasks, just replace "OSA_TASK_DEFINE" with "OSA_TASK_DEFINE2". This will relocate your task's stack into the m_data_2 segment.
You'll need to disable code generation for your task, or the macro change will get reverted the next time you click the Generate Code button.
Hope this helps someone out!