Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added workaround for serial.c issue when LTO_ENABLE=yes for the Lily58 #7868

Merged
merged 1 commit into from
Jan 12, 2020
Merged

Added workaround for serial.c issue when LTO_ENABLE=yes for the Lily58 #7868

merged 1 commit into from
Jan 12, 2020

Conversation

bcat
Copy link
Contributor

@bcat bcat commented Jan 11, 2020

This is the same workaround as #7558 applied for the Helix.

Description

This code is timing sensitive and seems to break with LTO enabled (at
least on avr-gcc 8.3.0... it worked on older gcc versions). Without this PR applied, Lily58 slave side is totally nonfunctional (no keystrokes register) when using LTO.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

This code is timing sensitive and seems to break with LTO enabled (at
least on avr-gcc 8.3.0... it worked on older gcc versions).

This is the same workaround as #7558 applied for the Helix.
@zvecr zvecr requested a review from a team January 11, 2020 23:23
@zvecr zvecr merged commit 08cd996 into qmk:master Jan 12, 2020
@zvecr
Copy link
Member

zvecr commented Jan 12, 2020

Thanks!

@bcat bcat deleted the lily58_lto branch January 12, 2020 02:14
nesth pushed a commit to nesth/qmk_firmware that referenced this pull request Jan 12, 2020
* 'master' of https://github.com/qmk/qmk_firmware: (71 commits)
  [Keyboard] Reviung41: Configurator layout support (qmk#7852)
  [Keyboard] IDB 60: Configurator bugfix (qmk#7851)
  [Keyboard] Add Xiaomi MK02 (qmk#7825)
  Add user keymaps for KBD67MKII/Lily58 (qmk#7671)
  [Keyboard] KPRepublic BM60 RGB (qmk#7842)
  Add Lily58 serial to LIB_SRC to avoid LTO issue (qmk#7868)
  Adi's DZ65RGB layout (qmk#7845)
  yapf and style
  Make the udev rules easier to read and manage
  Fix Pro Micro's and its bootloader's name
  CLI: Rework ModemManager check and add udev check
  [Keyboard] NK65 Refactor (qmk#7862)
  [Keymap] Updated keymaps (qmk#7834)
  [Keymap] Add additional dynamic macro key to dshields keymaps. (qmk#7853)
  added ymdk ymd09 keyboard (qmk#7831)
  [Keymap] Update my iris keymap for LTO and rgbled split (qmk#7849)
  [Keyboard] Changes to support latest release of VIA, moved files to "idb" folder in "keymaps" in preparation of adding more boards, made changes to LAYOUT_ macros (qmk#7798)
  Fix a couple of USB VIDs for the API (qmk#7848)
  Add per-key IGNORE_MOD_TAP_INTERRUPT feature (qmk#7838)
  Refactor f103,f072,f042 based keyboards to use new MCU selection defaults (qmk#7705)
  ...
HokieGeek pushed a commit to HokieGeek/qmk_firmware that referenced this pull request Feb 21, 2020
This code is timing sensitive and seems to break with LTO enabled (at
least on avr-gcc 8.3.0... it worked on older gcc versions).

This is the same workaround as qmk#7558 applied for the Helix.
kylekuj pushed a commit to kylekuj/qmk_firmware that referenced this pull request Apr 21, 2020
This code is timing sensitive and seems to break with LTO enabled (at
least on avr-gcc 8.3.0... it worked on older gcc versions).

This is the same workaround as qmk#7558 applied for the Helix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants