Do trampolines work on the Mega 2560?

I am porting several RTOSes to Arduino boards and most RTOSes don't support the ATmega2560 since it has a three byte program counter.

In order to fix this I am assuming the Adruino IDE supports trampolines for functions located in the high 128KB of flash on the 2560. Is this true?

Here is more about trampolines"

GCC pointers - of all types - are only 16-bits in length. That means you can address up to 128KB of FLASH memory directly with them, since FLASH is addressed as a number of 16-bit words and not bytes like SRAM. Functions are aligned on flash word boundaries.

However, that means that they cannot address functions located above 128KB of FLASH space. A few 8-bit AVRs have 256KB of FLASH, so this means a way is needed to address the higher flash segment for an indirect function call. The solution is an automatically generated "trampoline" section which contains code needed to call the higher addresses. When code needs to get above the 128KB barrier via an indirect function call, it instead "bounces" up to the desired location via the code in the trampoline section

Will this example work if testfcn is located in the high 128KB of flash?

void testfcn() {
  Serial.print("Hello");
}

void CallAFunction(void (*func_to_call)(void)) {
   func_to_call();
} 

void setup() {
  Serial.begin(9600);
  CallAFunction(testfcn);
}
void loop() {}

I don't see the IDE setting the -mrelax linker option mentioned here: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=112506&highlight=mega2560