Bug 1557570 - Make baseprofiler/core/shared-libraries-linux.cc compile on Android. r=glandium

Stop including "Linker.h" and always include <link.h> instead, which also comes with ElfW() and other things that this code needs.
Also fix up "!/" path detection code.

Differential Revision: https://phabricator.services.mozilla.com/D64997

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Markus Stange 2020-03-17 03:26:57 +00:00
Родитель 6d980e05bb
Коммит de0a0463d6
2 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -35,9 +35,9 @@
# if defined(MOZ_LINKER)
# include "AutoObjectMapper.h"
# include "Linker.h" // dl_phdr_info
# elif defined(GP_OS_linux) || defined(GP_OS_android)
# include <link.h> // dl_phdr_info
# endif
# if defined(GP_OS_linux) || defined(GP_OS_android)
# include <link.h> // dl_phdr_info, ElfW()
# else
# error "Unexpected configuration"
# endif
@ -669,7 +669,7 @@ static std::string getId(const char* bin_name) {
identifier.reserve(kDefaultBuildIdSize);
# if defined(MOZ_LINKER)
if (nsDependentCString(bin_name).Find("!/") != kNotFound) {
if (std::string(bin_name).find(std::string("!/")) != std::string::npos) {
AutoObjectMapperFaultyLib mapper(outputMapperLog);
void* image = nullptr;
size_t size = 0;

Просмотреть файл

@ -30,8 +30,8 @@
#if defined(MOZ_LINKER)
# include "AutoObjectMapper.h"
# include "Linker.h" // dl_phdr_info
#elif defined(GP_OS_linux) || defined(GP_OS_android)
#endif
#if defined(GP_OS_linux) || defined(GP_OS_android)
# include <link.h> // dl_phdr_info
#else
# error "Unexpected configuration"