• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Infrastructure → Build environment
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.8.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by nls - 2011-06-01
Last edited by Buschel - 2011-06-24

FS#12144 - Use -fPIC -fvisibility=hidden for 32 bit x86 builds too to fix link errors.

This patch enables the -fPIC and -fvisibility=hidden options for 32 x86 builds, they were previously only used for 64 bit. This fixes or works around linker errors with recent binutils in debian but i’m unsure if there are any downsides to this

Closed by  Buschel
2011-06-24 08:59
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Latest fixes for cygwin and win32 corss-compiliation under Linux have been submitted.

nls commented on 2011-06-01 12:10

Better patch that only uses the -fPIC flag for things that are actually shared, introduces a new SHARED_CFLAGS flag to set in configure.
Works fine on both 64 and 32 bit sims here. Dunno about other platforms that use "-shared" like maemo and android.
Also it breaks on the sscanf hack in doom and rockboy, which should be fixed.

nls commented on 2011-06-07 08:27

doom and rockboy fixed by adding sscanf to their SOURCES files so that it gets compiled with the correct flags

The current solution (since r29983) throws lots of "fPIC"- and "visibility"-related warnings when building win32 simulation under Linux (Ubuntu). Commenting line 299 in /tools/configure does of course solve this issue.

Edit: compile log attached.

   log.7z (87.4 KiB)

FYI I also need to remove the -fvisibilityoption to get a Cygwin build to work. The standard Cygwin setup still uses gcc 3.4.4 which doesn't know about -fvisibility. The -fPIC option does give plenty of warnings, but the compilation still succeeds.

nls commented on 2011-06-21 08:29

Can you make the switches conditional on mingw or cygwin or whatever in configure?
I don't have a setup to test that stuff

This fixes the issues with the win32 build for both Linux (Ubuntu) and cygwin hosts. I am not sure whether this might be needed for other hosts as well…

Fix submitted with r30052. I am not sure whether this kind of fix is also needed for some of the other environments as well.


Available keyboard shortcuts


Task Details

Task Editing