kicad/common
Shawn Anastasio f6a42a36d6 Fix libcontext on PPC64 ELFv2
libcontext currently restores and saves the FPSCR register
on ppc64. This behavior is fine (though unnecessary) on the
ELFv1 ABI which designates the register as volatile, but has
been observed to cause crashes on ELFv2 systems.

The ELFv2 ABI designates the FPSCR register as Limited-access
and specifies specific conditions that must be met to clobber
it. It does not seem that a context swap function meets these
conditions (and indeed, the save/restore register example in the
ABI document does not modify FPSCR).

This patch fixes ELFv2 ABI compliance by removing the FPSCR
save/restore code in libcontext entirely. This fixes observed
crashes on the platform and should have no consequence for
ELFv1 support.

Fixes: lp:1840088
* https://bugs.launchpad.net/kicad/+bug/1840088

(cherry picked from commit 3e22b75948)
2019-08-14 11:18:25 -07:00
..
dialog_about Fix frame name capitalization in all about dialogs. 2019-05-13 16:22:52 -04:00
dialogs CvPcb: fix save changes dialog layout issue. 2019-06-16 12:28:35 -04:00
gal Fix issue in cairo_gal when drawing a 360 deg arc (in fact a circle). It was due to a angle normalization between -360 and 360 degrees. So, in arcs, if the start angle and end angle diff is n*360 deg, this normalization gives start angle = end angle. The fix forces end angle = start angle+360deg in this case. 2019-06-09 11:09:43 +02:00
geometry Allow edits to self-intersecting polygons. 2019-07-14 18:36:47 +01:00
kicad_curl Remove useless includes and more fixes to avoid including curl.h in files, when not mandatory. 2017-09-05 08:07:31 +02:00
legacy_gal Fix bugs in keyboard cursor movement. 2019-07-05 01:32:15 +01:00
legacy_wx Show the current grid setting. 2019-06-13 12:14:41 -04:00
libeval Libeval: consistent formatting for NaN 2019-04-08 16:29:24 +01:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout DC printing: Place worksheet behind schematic 2019-06-17 13:03:00 -07:00
plotters pcbnew: Clean up warnings with unit handling in the DXF export 2019-07-10 12:42:54 -04:00
preview_items Pcbnew, Ruler tool: protect unit display against erroneous translation of \" 2019-02-22 20:47:55 +01:00
swig Python scripting: fix missing definition of uint32_t (and some other similar defs). 2019-07-27 08:22:10 +02:00
system Fix libcontext on PPC64 ELFv2 2019-08-14 11:18:25 -07:00
tool Fix bugs in keyboard cursor movement. 2019-07-05 01:32:15 +01:00
view All: fix horizontal touchpad panning 2019-05-08 11:07:45 +01:00
widgets Fix invalid wxImageList build. 2019-06-15 16:08:07 +02:00
CMakeLists.txt Rebased LTO fix for coroutines 2019-07-25 12:17:11 -07:00
advanced_config.cpp Disable legacy canvas on GTK3 2018-12-28 11:36:09 -05:00
array_options.cpp Separate ARRAY_OPTIONS to own class in common 2019-01-30 15:41:35 -08:00
base_screen.cpp Libedit: transfer current screen settings on part load 2019-02-08 22:56:05 +00:00
base_struct.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
base_units.cpp Enforcing rational limits on length tuner 2019-06-29 09:37:47 -07:00
basic_gal.cpp DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list. 2018-04-07 19:57:26 +02:00
bezier_curves.cpp DXF import: add import of DXF splines that are converted to Bezier curves. 2018-07-22 18:39:47 +02:00
bin_mod.cpp Fix incorrect initialization of some menuitems IDs. 2019-06-06 08:01:24 +02:00
bitmap.cpp Footprint editor: add save view to PNG file. 2018-11-09 08:32:36 -05:00
bitmap_base.cpp DC printing: Place worksheet behind schematic 2019-06-17 13:03:00 -07:00
board_printout.cpp When printing, pads are not always printed (especially on tech layers) 2018-12-22 13:44:49 +01:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
colors.cpp Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
colors_design_settings.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
commit.cpp commit: protect against un-copyable error 2019-02-16 13:28:45 -08:00
common.cpp Replace isdigit() with wxIsdigit() when testing wxString characters. 2019-03-15 15:54:49 -04:00
config_params.cpp Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
confirm.cpp CvPcb: fix save changes dialog layout issue. 2019-06-16 12:28:35 -04:00
convert_basic_shapes_to_polygon.cpp Custom pads: fix incorrect shape of masks when the shape is a polygon with holes and the mask margin is < 0. This is mainly the solder paste layer that shows this issue. This is due to the fact SHAPE_POLY_SET::Inflate does not work fine with polygons with linked holes. SHAPE_POLY_SET::InflateWithLinkedHoles it added to fix this issue. 2019-05-09 16:24:39 +02:00
cursor_store.cpp Eeschema: construct simulator cursors on demand 2019-04-02 19:08:26 +01:00
dialog_shim.cpp Allow dialogs to veto mouse-warping when called from context menu. 2019-04-13 11:30:09 -04:00
displlst.cpp Fix potential string iterator issue. 2019-03-02 08:20:53 -05:00
dlist.cpp Fixed an assert in DHEAD::append() 2018-05-11 10:23:40 +02:00
dpi_scaling.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:16:18 +00:00
draw_graphic_text.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
draw_panel_gal.cpp GTK3: Force scrollbars visible 2019-02-19 10:52:39 -08:00
dsnlexer.cpp Revert "Don't be pedantic about the file format." 2018-03-16 18:11:36 +00:00
eagle_parser.cpp Eagle: Fix crash when importing Eagle V6 2019-05-26 20:34:05 -07:00
eda_base_frame.cpp Unify and correct Autosave functions 2019-03-18 10:27:09 -07:00
eda_dde.cpp Keep track of open sockets and dispose of them in d'tor. 2018-04-04 12:02:40 +01:00
eda_doc.cpp Move env var substitution into GetAssociatedDocument 2019-03-10 10:44:23 -07:00
eda_dockart.cpp eeschema-gal: temporarily disable scrollbar code (causes crashes after Jeff's changes) 2018-10-09 11:08:55 +01:00
eda_pattern_match.cpp Prevent implicit * from wildcard match in footprint 2018-05-01 16:49:20 -07:00
eda_size_ctrl.cpp Clean up units infrastructure after g_UserUnit removal. 2018-07-17 15:12:36 +01:00
eda_text.cpp units: Move common units and add tests 2019-01-08 09:29:32 -08:00
env_paths.cpp Fixed normalizeAbsolutePaths() condition 2018-05-25 11:07:51 +02:00
env_vars.cpp Add configuration of Hi-DPI canvas scaling in OpenGL 2019-03-25 15:16:18 +00:00
exceptions.cpp Fix quotes in UI messages 2017-12-15 07:33:07 -05:00
executable_names.cpp Move executable name constants to own file 2017-03-23 09:23:45 -04:00
filename_resolver.cpp Fold 3D Search Paths dialog into Configure Paths. 2018-07-17 15:11:01 +01:00
filter_reader.cpp richio.h, class LINE_READER: prefix variable member names by "m_", like in other classes in Kicad. 2017-11-12 18:29:56 +01:00
footprint_filter.cpp Performance enhancements in fp loading, string cmp, etc. 2018-08-01 09:35:46 +01:00
footprint_info.cpp Null pointer check in FOOTPRINT_LIST::GetInstance() 2018-10-12 23:51:31 +02:00
fp_lib_table.cpp Add FootprintExists() which can be more careful about FS differences. 2019-07-11 23:01:25 +01:00
gbr_metadata.cpp Gerber drill file: Modify a aperture attribute for oblong holes (slots). 2019-06-26 17:53:09 +02:00
gestfich.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
getrunningmicrosecs.cpp Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h. 2017-01-02 13:49:36 +01:00
gl_context_mgr.cpp Dealing with inconsistent wxGLCanvas::IsDisplaySupported() 2018-06-11 12:26:59 +02:00
gr_basic.cpp Add line style drawing. 2018-10-09 11:08:56 +01:00
grid_tricks.cpp Fix compile issue on Linux 2019-03-04 06:11:44 -08:00
hash_eda.cpp Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hotkey_store.cpp Added hotkey validity checking to the preferences menu 2019-06-13 13:53:04 -04:00
hotkeys_basic.cpp Add read-only option for hotkey list, use for list dialog 2018-10-04 07:47:21 -04:00
html_messagebox.cpp Release mouse before closing HTML_MESSAGE_BOX. 2018-05-21 13:18:41 +01:00
kiface_i.cpp Removed old debug output 2017-12-17 18:43:43 +01:00
kiway.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
kiway_express.cpp Teach cvpcb about new KIWAY based cross-probing, factor out MAIL_T into mail_type.h 2014-04-22 10:16:19 -05:00
kiway_holder.cpp Allow dialogs to veto mouse-warping when called from context menu. 2019-04-13 11:30:09 -04:00
kiway_player.cpp Unified preferences dialog framework. 2018-07-17 15:11:17 +01:00
lib_id.cpp Fix LIB_ID illegal character tests. 2018-10-07 09:09:27 -04:00
lib_table.keywords Added "enabled" parameter for LIB_TABLE_ROW 2017-11-21 08:18:06 -05:00
lib_table_base.cpp QA: LIB_TABLE tests 2019-02-04 19:44:54 -08:00
lib_tree_model.cpp Fix potential string iterator issue. 2019-03-02 08:20:53 -05:00
lib_tree_model.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lib_tree_model_adapter.cpp Eeschema: Fix/circumvert GTK3 tree view bug 2019-04-28 17:18:09 +01:00
lib_tree_model_adapter.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
marker_base.cpp Replace DIM() macro 2019-01-06 08:43:12 -08:00
md5_hash.cpp fix minor compil warnings 2017-12-05 18:02:53 +01:00
msgpanel.cpp Remove colours from message text items. 2018-07-17 15:11:40 +01:00
netlist.keywords Fix Bug #1381287 (CvPCB ignores the footprint filter field on aliased components) 2015-01-02 08:52:29 +01:00
newstroke_font.cpp
observable.cpp Coverity fixes (mostly initializing variables) 2017-02-01 17:31:55 +01:00
origin_viewitem.cpp eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp Wire m_showPageLimits control up to GAL canvas. 2018-07-17 15:13:29 +01:00
pcb.keywords Revert "Allow 5.0 to read 6.0 files with hole-to-hole clearance settings." 2018-03-16 22:22:15 +00:00
pcb_plot_params.keywords Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
pgm_base.cpp Fix default User Template location 2019-06-11 13:46:10 -07:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
printout.cpp Removed default line width setting from the printing dialog 2018-10-31 19:17:30 +01:00
project.cpp Ensure we have a destination for config template 2019-01-28 17:16:53 -08:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
refdes_utils.cpp Fix broken GetReferencePrefix function 2019-01-30 15:41:36 -08:00
reporter.cpp Optionally sort reporter messages 2018-05-22 13:55:02 -07:00
richio.cpp Fix compile error on Linux. 2018-08-14 14:57:42 +01:00
search_stack.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
searchhelpfilefullpath.cpp Replace log debugging output with tracing. 2018-10-17 15:03:33 -04:00
selcolor.cpp Clean up file locations and names. 2018-09-22 16:23:13 +01:00
settings.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
single_top.cpp Force X11 on linux 2019-02-26 08:51:12 -08:00
status_popup.cpp status_popup: Allow VECTOR2I input 2018-12-13 12:32:58 -08:00
streamwrapper.cpp Replace WIN32 preprocessor symbol by the official symbol _WIN32, used almost everywhere 2018-10-20 09:22:24 +02:00
string.cpp Replace isdigit() with wxIsdigit() when testing wxString characters. 2019-03-15 15:54:49 -04:00
strtok_r.c Add strtok_r.c 2013-12-10 17:52:51 -06:00
systemdirsappend.cpp Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members. 2015-05-15 14:49:11 +02:00
text_utils.cpp change UTF8& operator+=( wchar_t ch ) to UTF8& operator+=( unsigned ch ), because swig does not like wchar_t. 2017-12-08 17:57:53 +01:00
trace_helpers.cpp Eeschema: fix broken symbol library links. 2019-05-02 12:13:30 -04:00
undo_redo_container.cpp fix code after file renaming 2018-01-31 09:24:02 +01:00
utf8.cpp UTF8: Fix MSVC builds 2018-10-18 11:35:45 -07:00
validators.cpp Minor library identifier validator change. 2019-06-18 12:16:51 -04:00
wildcards_and_files_ext.cpp eeschema: Clean up backup name 2019-07-23 10:47:15 -07:00
worksheet.cpp eeschema-gal: Base refactoring before GALification of the eeschema legacy canvas. 2018-10-09 11:08:52 +01:00
worksheet_viewitem.cpp pcbnew: Draw title block normally even when the view is flipped 2018-10-31 19:17:30 +01:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00