Как я могу заставить LD ставить всегда ставить точку входа в расположение -Ttext?

Я использовал эти два подхода для сценариев static и non static:

Основной класс:

//For non static approach
public AndroidLogger(Object classObject) {
    mClassName = classObject.getClass().getSimpleName();
}

//For static approach
public AndroidLogger(String className) {
    mClassName = className;
}

Как указать имя класса:

нестационарный способ:

private AndroidLogger mLogger = new AndroidLogger(this);

Статический путь:

private static AndroidLogger mLogger = new AndroidLogger(Myclass.class.getSimpleName());
1
задан Espen Nilsen 19 March 2019 в 14:49
поделиться

1 ответ

Итак, я нашел 2 решения.

  1. Установить .section .text.startup в файле, содержащем _start
  2. Установить .section .text.mustbefirst (мое собственное имя раздела) в файле, содержащем _start
[ 118] В первом варианте я просто проверяю, что стартовый код также включен в том же порядке, что и код, содержащий main, хотя есть некоторая двусмысленность, которая сработала в моем случае.

Во втором варианте я изменил скрипт компоновщика по умолчанию, чтобы убедиться, что мой символ секции был первым.

Если первое надежно (например, зависит от порядка аргументов или чего-то еще), то это нормально. Как в сторону; кто-нибудь знает? Если нет, то я бы порекомендовал новый символ раздела и модифицированный скрипт компоновщика.

0
ответ дан Espen Nilsen 19 March 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: