спасибо, помогло. Разобрались. PL1 допускает прагму в любом месте, а PL2/3 только в начале файла. pragma в файле стояла перед вызовом ф-и, после инклудов. а в одном из иклудов была статик ф-я. Перенес прагму в самое начало файла и код стал правильным.
Для текущей задачи такое решение приемлемо, но в предыдущем проекте использовал pic18 с 128кб и прагму писал в середине файла чтобы в пределах одного модуля фeyrии можно было размещать и в основной секции и в пользовательской.
Итого: вернул PL3. время ребилда в PL2 и PL3 в 2 раза меньше чем в PL1
Решение по ссылке больно мудреное. Если придется писать под PIC18 на 128кб возьму PL1