kicad/common
Shawn Anastasio 3e22b75948 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
2019-08-14 11:16:40 -07:00
..
dialog_about Adding contributors 2019-08-10 14:22:27 -07:00
dialogs Add some defensive code to prevent re-entrant printing. 2019-08-13 18:00:09 +01:00
gal Fix initialization of COLOR4D statics 2019-08-06 10:06:10 -07:00
geometry C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -07:00
kicad_curl Replace remaining Boost mutexs with std::mutex 2019-05-03 17:13:20 -07:00
libeval Libeval: consistent formatting for NaN 2019-04-08 16:27:45 +01:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
plotters pcbnew: Clean up warnings with unit handling in the DXF export 2019-07-10 12:21:01 -04:00
preview_items Homogenize selection tools around our HIG. 2019-07-09 21:59:46 +01:00
swig Python scripting: fix missing definition of uint32_t (and some other similar defs). 2019-07-25 20:53:26 +02:00
system Fix libcontext on PPC64 ELFv2 2019-08-14 11:16:40 -07:00
tool CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
view Redraw selection halos after zooming. 2019-08-08 13:51:23 +01:00
widgets C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -07:00
CMakeLists.txt Rebased LTO fix for coroutines 2019-07-25 12:16:17 -07:00
advanced_config.cpp Some minor fixes to prepare the new zone filling algo (no filled polygon thickness) 2019-06-02 11:51:47 +02:00
array_axis.cpp Pcbnew: add a step field to the array tool 2019-05-16 11:20:52 +01:00
array_options.cpp Arrays: isolate axis code in a new class 2019-05-16 11:20:52 +01:00
base_screen.cpp Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
base_struct.cpp Make m_Text private so we don't keep getting bugs where m_shown_text fails to get updated. 2019-08-01 20:36:59 -06:00
base_units.cpp Enforcing rational limits on length tuner 2019-06-29 09:38:27 -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 Eeschema: make menu file history working again. 2019-05-25 20:58:28 +02:00
bitmap.cpp Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
bitmap_base.cpp Common: Fix copy-construction of empty BITMAP_BASE 2019-05-23 16:58:08 +01: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 Fix assert launching PCBNew. 2019-06-01 00:06:25 +01:00
commit.cpp commit: protect against un-copyable error 2019-02-16 13:28:45 -08:00
common.cpp Common: do not conditionally define wxPoint/Size operator<< 2019-05-28 13:52:36 +01:00
config_params.cpp Eradicate globals for PCB_GENERAL_SETTINGS. 2019-06-26 21:54:03 +01:00
confirm.cpp Fix OSX button order issue in Unsaved Changes dialog. 2019-06-17 17:01:57 +01:00
convert_basic_shapes_to_polygon.cpp Pcbnew: better approximation of arcs by polygons for pads having a very small size. 2019-06-17 17:26:15 +02:00
cursor_store.cpp Eeschema: construct simulator cursors on demand 2019-04-02 18:26:33 +01:00
dialog_shim.cpp Push shift/cmd+<enter> processing down into dialog shim. 2019-08-13 16:53:40 +01:00
displlst.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01: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:00:55 +00:00
draw_panel_gal.cpp GAL: Use cursor enum 2019-08-06 18:33:42 -07: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:31:55 -07:00
eda_base_frame.cpp Add log trace for tool handling 2019-07-31 21:56:53 -06:00
eda_dde.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
eda_doc.cpp Move env var substitution into GetAssociatedDocument 2019-03-10 08:39:36 -07:00
eda_dockart.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
eda_draw_frame.cpp Remove disappearing-preferences hack in favour of fix in wxWidgets. 2019-08-10 11:58:05 +01:00
eda_pattern_match.cpp C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -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 Fix some placement bugs with selection haloes on text. 2019-08-03 17:20:54 -06: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:00:55 +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 C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -07:00
footprint_info.cpp Move remaining hard-coded segment counts 2019-05-16 08:49:55 -07:00
fp_lib_table.cpp Add FootprintExists() which can be more careful about FS differences. 2019-07-11 23:00:01 +01:00
gbr_metadata.cpp Gerber drill file: Modify a aperture attribute for oblong holes (slots). 2019-06-25 09:43:29 +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 Remove Legacy options for overlay/context 2019-06-12 06:01:03 -07:00
gr_text.cpp New selection highlighting model for eeschema. 2019-07-29 19:57:41 -06:00
grid_tricks.cpp Push shift/cmd+<enter> processing down into dialog shim. 2019-08-13 16:53:40 +01:00
hash_eda.cpp pcbnew: Remove the last dlist from modules/pcbnew 2019-06-01 20:55:32 -07:00
hotkey_store.cpp Preferences, Hotkey list: Avoid list to be shown twice. 2019-07-16 18:30:14 +02:00
hotkeys_basic.cpp Improve gesture lables for better consistency with key labels. 2019-06-14 16:54:46 +01: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 Add env-var setting to CommonSettingsChanged(). 2019-06-25 11:34:28 +01:00
kiway_express.cpp Support synchronous messaging over KIWAY EXPRESS. 2019-04-08 13:26:09 +01:00
kiway_holder.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
kiway_player.cpp Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
languages_menu.cpp Add checking to languages menu. 2019-06-16 20:26:43 +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 C++14: Remove unused make_unique.h 2019-08-07 09:27:31 -07:00
lib_tree_model.h libtree: Update width automatically 2019-02-12 21:56:47 -08:00
lib_tree_model_adapter.cpp Don't throw out search hits because they have unit children. 2019-06-19 21:27:58 +01:00
lib_tree_model_adapter.h Move footprint & symbol tree context menus to tool infrastructure. 2019-06-05 20:16:48 +01: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 Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
md5_hash.cpp Add MD5_HASH::Format for debug purposes. 2019-03-21 11:42:15 +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 Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out. 2019-06-10 23:46:00 +01:00
page_info.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
painter.cpp GAL: Make high-contrast meld into background 2019-06-09 08:16:58 -07:00
pcb.keywords Move layer defaults and diff-pair dimensions to board file. 2019-07-06 00:04:54 +01: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 Add some defensive code to prevent re-entrant printing. 2019-08-13 18:00:09 +01: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 Uniformly quote strings which may have user content. 2019-04-07 00:24:10 +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
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 Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01: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 Don't double-escape netnames. 2019-04-12 00:28:58 +01: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 Add log trace for tool handling 2019-07-31 21:56:53 -06:00
undo_redo_container.cpp eeschema: Remove UR_WIRE_IMAGE 2019-04-13 07:11:24 -07: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 11:18:09 -04:00
wildcards_and_files_ext.cpp cvpcb: Move file extension to common and deprecate a header 2019-08-12 14:19:01 -04:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
xnode.cpp Escape slashes in labels and netnames. 2019-04-07 00:24:10 +01:00