Hello,

your fix worked for the drivers. Maybe the issue is with my setup.

My steps where:

$ git clone git://repo.or.cz/autotool-experiments
$ cd autotool-experiments
$ mkdir build; cd build
$ autoconf

when just running that, I get:

../configure: error: cannot find install-sh, install.sh, or shtool in build-aux "."/build-aux

I fixed it with:

$ autoreconf -i

maybe the auxilaries of this modified raspbian are interfering with the autoconf, because it still runs the disabled one.

However, tried the cmake approach (fresh folder) and app_combo seems fine now, behaves identical in both lto and no-lto configurations:

[17:25:13] RevPi2248:~/src/autotool-experiments/build$ cmake ..

...

-- with LTO: OFF
-- Enabled drivers:
--   Driver 1: ON
--   Driver 2: ON
--   Driver 3: ON
--   Driver 4: ON
--   Driver 5: ON

...

[17:31:35] RevPi2248:~/src/autotool-experiments/build$ make && ./app_combo

communicating ...
items:
 0x76fa5edc 1 driver1 0x76f958dc
 0x76fa5ee8 2 driver2 0x76f95924
 0x76fa5ef4 3 driver3 0x76f9596c
 0x76fa5f00 4 driver4 0x76f959b4
 0x76fa5f0c 5 driver5 0x76f959fc
list end
driver1, do something
driver2, do something
driver3, do something
driver4, do something
driver5, do something

[17:31:53] RevPi2248:~/src/autotool-experiments/build$ cmake -DWITH_LTO=ON .
-- with LTO: ON
-- Enabled drivers:
--   Driver 1: ON
--   Driver 2: ON
--   Driver 3: ON
--   Driver 4: ON
--   Driver 5: ON


[17:32:18] RevPi2248:~/src/autotool-experiments/build$ make VERBOSE=1 && ./app_combo

communicating ...
items:
 0x76f49edc 1 driver1 0x76f398c8
 0x76f49ee8 2 driver2 0x76f39908
 0x76f49ef4 3 driver3 0x76f39948
 0x76f49f00 4 driver4 0x76f39988
 0x76f49f0c 5 driver5 0x76f399c8
list end
driver1, do something
driver2, do something
driver3, do something
driver4, do something
driver5, do something

[17:33:29] RevPi2248:~/src/autotool-experiments/build$ cmake -DWITH_LTO=OFF .
-- with LTO: OFF
-- Enabled drivers:
--   Driver 1: ON
--   Driver 2: ON
--   Driver 3: ON
--   Driver 4: ON
--   Driver 5: ON

[17:33:30] RevPi2248:~/src/autotool-experiments/build$ make VERBOSE=1 && ./app_combo

communicating ...
items:
 0x76efdedc 1 driver1 0x76eed8dc
 0x76efdee8 2 driver2 0x76eed924
 0x76efdef4 3 driver3 0x76eed96c
 0x76efdf00 4 driver4 0x76eed9b4
 0x76efdf0c 5 driver5 0x76eed9fc
list end
driver1, do something
driver2, do something
driver3, do something
driver4, do something
driver5, do something


[17:33:53] RevPi2248:~/src/autotool-experiments/build$ cmake -DWITH_DRIVER_3=OFF -DWITH_DRIVER_5=OFF .
-- with LTO: OFF
-- Enabled drivers:
--   Driver 1: ON
--   Driver 2: ON
--   Driver 3: OFF
--   Driver 4: ON
--   Driver 5: OFF

[17:34:09] RevPi2248:~/src/autotool-experiments/build$ make VERBOSE=1 && ./app_combo

communicating ...
items:
 0x76f5aef4 1 driver1 0x76f4a89c
 0x76f5af00 2 driver2 0x76f4a8e4
 0x76f5af0c 4 driver4 0x76f4a92c
list end
driver1, do something
driver2, do something
driver4, do something

[17:34:28] RevPi2248:~/src/autotool-experiments/build$ cmake -DWITH_DRIVER_3=OFF -DWITH_DRIVER_5=OFF -DWITH_LTO=OFF .
-- with LTO: OFF
-- Enabled drivers:
--   Driver 1: ON
--   Driver 2: ON
--   Driver 3: OFF
--   Driver 4: ON
--   Driver 5: OFF

[17:35:16] RevPi2248:~/src/autotool-experiments/build$ make VERBOSE=1 && ./app_combo

However, I needed to make a minor adjustment regarding the outdated cmake (3.7.2) on this system:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7aa3956..5256033 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,9 +43,11 @@ else ()
 endif ()
 add_library(combo SHARED ${LIB_SRCS})
 if (WITH_LTO)
-       target_link_options(combo PUBLIC -flto)
+       link_libraries("-flto")
+#      target_link_options(combo PUBLIC -flto)
 else ()
-       target_link_options(combo PUBLIC -fno-lto)
+       link_libraries("-fno-lto")
+#      target_link_options(combo PUBLIC -fno-lto)
 endif ()

 set(APP_SRCS

that's why I ran make with VERBOSE=1 to make sure -fno-lto / -flto shows up in the linker lines.

Let me know if I can do something else.

I'll have a look if I can get my hands on the old PowerPC system next week (but can make no promises, since it's an old test system with it's OS in ruines and I don't know if it will even boot).

Best regards,
Martin


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to