Hi, Stan. Support for big endian systems has been deprecated in Dyninst, and will likely be removed in the next release. When that happens, usage of the TestBigEndian internal CMake module will go away. It looks like you are using an x86_64 platform, so an immediate workaround is to get rid of most everything in cmake/endian.cmake (patch below).
Thanks. - Tim diff --git a/cmake/endian.cmake b/cmake/endian.cmake index c0be21b..1171cae 100644 --- a/cmake/endian.cmake +++ b/cmake/endian.cmake @@ -1,8 +1 @@ -INCLUDE(TestBigEndian) - -TEST_BIG_ENDIAN(BIGENDIAN) -if(${BIGENDIAN}) - ADD_DEFINITIONS(-DDYNINST_BIG_ENDIAN) -else() - ADD_DEFINITIONS(-DDYNINST_LITTLE_ENDIAN) -endif(${BIGENDIAN}) +ADD_DEFINITIONS(-DDYNINST_LITTLE_ENDIAN) On Tue, Aug 11, 2020 at 9:30 PM Stan Cox <s...@redhat.com> wrote: > I came across the following while building 10.2.0 on Fedora, which > builds all packages with -pie > > Simplified example: > > % rm CMakeCache.txt ; LDFLAGS=-pie /usr/bin/cmake . > ... > -- Check size of unsigned short > -- Check size of unsigned short - failed > -- Check size of unsigned int > -- Check size of unsigned int - failed > -- Check size of unsigned long > -- Check size of unsigned long - failed > CMake Error at /usr/share/cmake/Modules/TestBigEndian.cmake:50 (message): > no suitable type found > Call Stack (most recent call first): > cmake/endian.cmake:3 (TEST_BIG_ENDIAN) > cmake/shared.cmake:93 (include) > CMakeLists.txt:34 (include) > -- Configuring incomplete, errors occurred! > > Without LDFLAGS=-pie works okay > ... > -- Configuring done > -- Generating done > -- Build files have been written to: ... > -- RTlib Makefile: > -- Found LATEX: /usr/bin/latex > -- Adding Unix-specific dependencies > -- Configuring done > -- Generating done > -- Build files have been written to: ... > > > Looking at /usr/share/cmake/Modules/TestBigEndian.cmake the problem > seems to be when compiling /usr/share/cmake/Modules/TestEndianess.c.in > % gcc test.c -Wl,-pie > /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/crtbegin.o: relocation > R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when > making a PIE object > /usr/bin/ld: /tmp/ccM6S7QV.o: relocation R_X86_64_32S against symbol > `info_little' can not be used when making a PIE object; recompile with > -fPIE > collect2: error: ld returned 1 exit status > _______________________________________________ > Dyninst-api mailing list > Dyninst-api@cs.wisc.edu > https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
_______________________________________________ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api