Newshot
Account

FM-1 Workbench

Original text(via Hacker News)

LCD parameter editor

Use the wheel, + / − or arrow keys for the smallest adjustment step. Changes apply to the browser preview immediately. Save to device writes project parameters; configure MIDI routing and clock sources on the instrument.

Save to device

Saving replaces the selected slot and loads the project to verify it. The saved project survives a device restart. Sample banks are managed separately.

Export files to back up on your computer. Browser and device projects are saved separately.

This preview uses demo samples. Project files do not contain sample audio.

Update firmware

Checking the included firmware. Connect the FM1 USB-MIDI port.

Force flash (migrate from other firmware)

Restoring installs original V15 and replaces all four banks with 128 factory voices. Open projects and samples are incompatible; export backups first. Devices already on V15 only have their voices restored. Writing starts after confirmation.

Warning: the bundled firmware may be incompatible with this device. Force flashing may erase data, prevent startup and require a recovery tool. Connect only the target FM1. Firmware without the USB-MIDI update protocol cannot be flashed from this page.

Firmware loads when Device Update is opened.

These are the ports detected by this browser for this attempt. This information stays on this page.

Projects & sounds

Manage device projects, sounds and samples. Backup files stay on this computer.

Waiting for a device with project-library support.

Share about 19.55 seconds freely across 8 slots. Back up projects and samples separately.

Read the device bank first, then choose a slot and WAV. Writing replaces the whole bank for all projects.

WAV: PCM 8/16/24/32-bit or 32-bit float, mono or stereo, 8–192 kHz; at most 32 MiB and 120 seconds. Share about 19.55 seconds across 8 slots. Each sample rounds up to 10 ms; replacing a slot reuses its space.

Loading built-in samples…

FM1 User Manual

From your first beat to saving your music. For the matching FM1 firmware and web editor.

No matching chapters. Try “save”, “volume” or “MIDI”, or click “Show all chapters”.

01 · Get started

The page header and device HOME show the current version. The startup animation lasts about one second; press a key or turn a knob to skip it. Playback does not start automatically.

FM1 has 8 tracks, 6 engines and 16 factory projects. Each track supports 16, 32, 48 or 64 steps. Common tasks use a single button; deeper editing is in hold menus and the web editor.

  • Prepare to listen. Set device MASTER to a moderate level. In the browser, press a key or Play to hear sound; no extra switch is needed.
  • Try a preset. On HOME, turn PRESETS to change the whole project and press PLAY. You can also press HOME for the list, load with PRESETS / SELECT, or press PLAY to load and play. SAVE opens project saving; white keys 1–16 select directly.
  • Shape the sound. On the overview, SELECT chooses a track and a short EDIT press opens common parameters. Turn PRESETS on EDIT to change the track sound; press EDIT again to return. To change engines, turn ALGORITHM or K2 on the overview, then press SAVE.
  • Change the rhythm. Press SEQ. On BASIC, K3 selects a note or drum part and white keys toggle steps. PRESETS selects a step; OCT− / OCT+ changes step pages. ALGORITHM changes the bottom settings page for direct step and rhythm editing.
  • Balance the mix. Press GLO. White keys 1–8 mute and 9–16 solo. SELECT chooses a track; K1–K4 adjust four track levels. Press GLO or HOME to return.
  • Save your work. Press SAVE, choose a USER slot with SELECT, then press SAVE again. Replacing another occupied slot asks for confirmation. The panel returns after saving.

“Save to device” at the top writes a chosen device slot. “Save in this browser” stores a browser copy; “Export project file” makes a computer backup. Physical SAVE writes a device slot.

02 · Panel & shortcuts

ControlWhat it does
HOMEReturn from editing to the eight-track overview. From the overview, open the preset list; press again to cancel.
SELECTChoose a track on overview, common sound, sequencer and mixer pages. Change parameter pages in full editing; select menu items.
PRESETSOn HOME, change the complete project preset; on EDIT, the track sound; in the preset browser, the project; on SEQ, the step; on drum / sample editing, the part; on SAVE, the slot.
ALGORITHMOn HOME, choose an engine, then SAVE to apply or HOME to cancel. On SEQ / ARP, change bottom parameter pages. In sound editors, adjust the algorithm or sound parameter.
K1 / K2 / K3 / K4HOME: level / engine / step / tempo. SEQ BASIC: level / step / pitch or drum part / tempo. On other pages, follow the bottom labels.
EDIT: tap / holdTap to enter or leave common parameters. Hold for about 0.6 seconds for full editing. Non-FM common pages show the first parameter group; SELECT changes pages in full editing.
SEQ: tap / holdTap for steps; tap again for BASIC and playback follow. ALGORITHM changes parameter pages. Hold about 0.6 seconds for copy / paste, clear, repeat, undo and other actions.
GLOTap to enter or leave the mixer. White keys 1–8 mute and 9–16 solo. You do not need to keep GLO held.
PLAY / RECPlay / pause / resume; toggle note recording on musical pages. On the preset page, PLAY loads and plays. Preset changes do not ask for confirmation.
SAVEOpen the save page, then press again to save. Execute / confirm in menus. HOME cancels.
OCT− / OCT+Change 16-step pages in the sequencer; transpose by octaves when playing.
ENV / LFO / FX / SCLENV opens the current engine envelope; LFO opens track modulation; FX sets track reverb and delay; SCL opens scaling controls.
ARPTap to toggle the current track arpeggiator / drum repeats; hold for about 0.6 seconds for settings. SELECT chooses a track; ALGORITHM switches between rate / direction / range / gate and Swing / Hold.

On HOME, K3 (STEP) selects a step on the current track, including the insertion position while recording. Tap REC to start or stop recording.

Mute and solo are mutually exclusive on each track: enabling solo clears that track’s mute, and enabling mute clears its solo. Other tracks keep their settings.

Web controls

Choose a preset and press Play. Read & save contains device reading and browser saves. Files & MIDI imports and exports projects and sounds.

The main buttons open sound, sequence, mixer and effects; other controls are in More editing. Drag or scroll knobs, or click LCD values. Play with Z, S, X, D…; Space plays and Esc stops notes. Typing and menu actions do not play notes.

The upper panel buttons work on every page. FX, SCL, ENV, LFO, EDIT, GLO and SEQ open their pages directly. Tap ARP to toggle it or hold for settings; PLAY controls playback. REC from a menu or step details opens the SEQ basic page and starts recording; press again to finish. SAVE opens project saving or confirms the action shown on screen. OCT− / OCT+ change step pages in SEQ and the copy menu, and octaves elsewhere. Leaving a confirmation page does not execute the pending action.

Edit LCD values directly

Hover over an LCD value: a highlight means it is editable with the mouse wheel. Each step uses the parameter's smallest increment, without scroll-speed acceleration. Click to open a larger value display, then use the wheel, + / − or arrow keys; Esc closes it. Editable values include bottom parameters, top BPM, overview track levels, SEQ loop length, the step-details cursor, sound and effect rows, and FM ALG, FB, MONO / POLY, ADSR enable, LFO waveform / sync / PM SENS. Mixer mute / solo cells are also editable. Status, meters, fixed quantization and unsupported engine parameters remain read-only; external MIDI clock controls BPM. Changing tracks or parameter pages closes the old editor to prevent editing the wrong value. Adjusting another track's small level on the overview does not change your selected track.

Tap GLO (less than 0.6 seconds) to enter or leave the mixer. Hold for 0.6 seconds for a momentary mixer view; release to return. A progress bar appears at the top while holding GLO, EDIT, SEQ or ARP.

Button combinations

HOME+PLAY stops all sound and returns to the start; HOME+SAVE toggles undo / redo; SEQ+EDIT opens more actions; EDIT+REC renames a DX7 patch. These actions are also in the SEQ hold menu. In the browser, Shift-click or right-click a button to hold it, then click again to release. These combinations are optional.

03 · Steps & recording

16 white keys, 16 steps per page

On SEQ BASIC, white keys toggle steps and K3 selects a pitch or drum part. PRESETS selects steps on every parameter page, SELECT chooses a track, and OCT− / OCT+ moves 16 steps. ALGORITHM changes the eight bottom pages: BASIC, STEP DETAILS, RHYTHM/REC, LOCKS, SYNC / LOOP, MIDI TRACK, MIDI ROUTING and TRACK ROLE. K4 on RHYTHM/REC sets the track loop to 16 / 32 / 48 / 64 steps; each track loops independently.

A length change during playback shows NEXT and takes effect at this track’s next loop start. Shortening a loop does not erase later notes; extend it to restore them. FOLLOW means the display follows playback. Editing manually shows EDIT and keeps the page fixed. Press SEQ again to return to BASIC and follow playback.

On SEQ BASIC, K2 selects a melodic step and K3 edits its existing note. On an empty step, K3 sets the pitch inserted by a white key. On drum tracks, K3 selects a part without moving hits. K1 controls track level and K4 tempo; MIDI clock sets tempo externally.

On SEQ’s SYNC / LOOP page, K1 selects INT / MIDI, K2 sets internal BPM and K3 sets loop length. Switching clocks stops playback. MIDI mode needs external Start / Continue and Clock; WAIT MIDI CLOCK appears while waiting. External BPM is read-only. The clock setting on the Bluetooth page remains available.

On SEQ MIDI TRACK, K1 selects LOCAL / BOTH / MIDI for SEQ/ARP, K2 selects the output channel, K3 selects ports and K4 toggles KEY OUT. On MIDI ROUTING, K1 is LOCAL, K2 is CLK OUT, K3 selects THRU IN and K4 selects THRU OUT. SYNC K4 selects the clock source. These preferences are separate from projects. The browser previews them without sending to external MIDI ports; configure the instrument on its panel.

Recording indicators: REC while stopped shows STEP for step entry; during playback it shows REC for live recording. With count-in enabled, CNT 4→1 counts down before recording starts on the next bar. A green line marks playback and a white outline marks the edit step. Selecting a step with PRESETS ends recording; press REC to resume.

Arpeggiator: rate, direction, Swing and Hold

Tap ARP and hold notes; hold ARP to open settings. ALGORITHM switches two pages: page 1 has K1 rate (1/4, 1/8, 1/16, 1/32), K2 direction, K3 range (1–4 octaves), K4 gate (25%–100%); page 2 has K1 Swing (0%–50%) and K2 Hold. Hold keeps a released chord; release all keys and play a new chord to replace it. Turning Hold off, Stop or Panic releases latched notes. SELECT chooses a track; settings are independent per track. K4 on HOME / SEQ BASIC changes BPM. External clock needs Start / Continue and Clock; Swing follows 24 PPQN resolution.

808 / SAMPLER support rate, direction, Swing and Hold. Range and gate show “--”; drum parts are not transposed. ARP enable and all six settings are saved with the project; held or latched notes are not.

TRACK ROLE (8/8): K1 selects NORMAL, PLAY or OFF; K2 sets the input channel. NORMAL participates in sequencing and recording. PLAY is for live performance and retains the track's timbre and held notes across project changes. OFF disables the track sound. Roles and input channels are saved independently of projects. MUTE/SOLO use the existing controls, with separate NORMAL and PLAY solo groups.

Two recording modes

The following recording modes apply only to NORMAL tracks. PLAY tracks are for live performance and do not record notes.

  • Press REC while stopped: Melodic notes, DRUM 808 and SAMPLER all advance one step when every played key is released. Overlapping notes are recorded on the same step.
  • Press REC during playback: Panel or MIDI playing is quantized to the nearest sixteenth note with velocity retained. Press REC again to stop recording.

Details, groove & copying

Hold SEQ about 0.6 seconds for the menu. Use SELECT to choose COPY STEP or COPY PAGE, then SAVE to copy; the matching PASTE command is selected automatically. Choose the target step with PRESETS or K2, or the target page with OCT− / OCT+, then press SAVE once to paste. The top row shows track, step, page and clipboard type. Whole-track paste, clear and repeat still require a second SAVE to confirm.

On SEQ, turn ALGORITHM to STEP DETAILS: K1–K4 edit velocity, gate, probability and chord. LOCKS edits ties, parameter locks and notes. PRESETS or white keys select the step; SELECT still chooses a track. Entering details or locks ends REC and keeps recorded notes; playback does not move the edit cursor. A parameter lock applies for one step, then restores the value. Unrelated MIDI controllers leave it active; a supported CC for that same parameter overrides it and updates the saved value. The project shares 16 chords and 16 step locks.

SEQ RHYTHM/REC: K1 Swing, K2 metronome (off / recording / on), K3 one-bar count-in, K4 loop length. Quantization is fixed to sixteenth notes. Hold SEQ for copy, paste and more; UNDO / REDO switches between the current and previous edit state. Turning sound or volume controls beyond their limits leaves the previous edit available to Undo.

04 · Six sound engines

Each track can use any engine and has its own parameters, even when several tracks use the same engine. Changing engines loads that engine’s defaults. Switching between drums and melody clears incompatible steps; use UNDO / REDO in the SEQ hold menu to undo.

EngineHow to edit
DX7 · FMTap EDIT for algorithm / feedback / transpose / level; tap again to return. Hold for full editing. Black keys choose OP1–OP6, Pitch, Global or Mono / Poly; SELECT changes pages. Hold an OP black key for about half a second to enable / disable it. ALGORITHM changes algorithms; PRESETS selects factory sounds.
303 · Acid bassTap EDIT for the first page. Hold EDIT, then use SELECT for three pages: Cutoff / Reso / EnvMod / Decay; Accent / Wave / Tune / Volume; Drive / DrvTyp / Slide / AccDec. PRESETS switches saw / square. Mono / Poly selects monophonic slide or four-voice polyphony.
808 · Synthesized drumsPRESETS selects 11 drum parts or KIT. Playing a key also selects its part. Hold EDIT and use SELECT to change parameter pages. Available parameters depend on the part; KIT adjusts the whole drum kit.
PSG · Chip soundsK1–K4: MODE (YM / AY / NOISE / MIX), NOISE, TUNE and RELEASE. NOISE has no effect in a pure square-wave mode.
PLUCK · Plucked stringsK1–K4: DECAY, BRIGHT, TUNE and RELEASE. DECAY is the natural decay; RELEASE is decay after key release. A held note still decays naturally. Brightness changes apply to the next pluck.
SAMPLER · SamplesThe first 8 white keys select and audition sample slots; PRESETS also selects them. Page one: Level / Tune / Length / Choke. Hold EDIT and use SELECT for Variation / Vel LPF on page two. A new hit in a choke group stops the previous sound, useful for open / closed hi-hats.

Envelope and LFO for every engine

ENV works with every engine and shows its supported parameters. SELECT chooses a track; for drums and samples, PRESETS or white keys select a part. Retrigger a note to hear envelope changes. Blank knobs mean that the engine has no corresponding parameter.

FM: K1 Attack, K2 Decay, K3 Sustain, K4 Release; editing enables the overlay. 303: K1 EnvMod, K2 Decay, K3 AccDec, K4 Cutoff; velocities of 100 or above use accented decay (AccDec). PSG: K1 Release. Pluck: K1 Decay, K2 Release, K3 Bright. Sampler: K1 Length, K2 Choke. 808: K1 Decay, K2 Attack, K3 Tone, K4 Tune; only parameters supported by the selected drum part appear.

For non-FM engines, press LFO: K1 rate 0.05–20 Hz, K2 depth 0–100%, K3 volume tremolo / stereo pan, K4 triangle / square / rising saw / falling saw. Depth 0 is off. Settings are saved with projects, track sounds and user slots. SELECT chooses a track; press LFO again to return.

LFO affects the whole track, including drum / sample parts and track effect sends. Non-FM LFO does not offer pitch or filter targets. FM retains its original pitch / amplitude LFO and two parameter pages. Use FX for effects.

FM envelopes, modulation & naming

OP RATES and OP LEVELS in EDIT show the same envelope. Higher RATE shortens its stage; LEVEL changes the point height. L3 holds until release, then R4 leads to L4. All six operators and PITCH update with their parameters. The graph is an editing preview, not a millisecond scale; actual timing also depends on the note, scaling and levels.

All four FM ENV controls reshape the graph immediately. Horizontal spacing follows envelope timing; the sustain segment is illustrative and lasts until key release. With ADSR off, the graph is a dim preview; sound uses the individual DX7 operator envelopes.

ENV opens the global ADSR page. K1–K4 control Attack / Decay / Sustain / Release; turning any parameter enables it automatically. Play a new note to hear the result. Merely viewing the page preserves the original sound. Turn PRESETS left to bypass the override and return to the original DX7 envelope, or right to enable it again. SELECT changes the two LFO pages; SCL opens the current operator’s keyboard scaling. Hold SEQ, select DX7 PATCH NAME, then press SAVE. SELECT chooses a character and K1 changes it in the 10-character name. Save the project to keep it.

Retrigger notes to hear most tuning and envelope changes. Loading a factory DX7 patch replaces edits, enables all operators and disables global ADSR.

Track effects

Press FX and select a track with SELECT. K1 sets reverb send, K2 delay send; 0 disables that track send. All six engines are supported. K3 is track volume and K4 is the shared effects return. Turn PRESETS to the second page for shared reverb time, delay time, feedback and return. The 808 EDIT page retains additional per-drum sends. Track sends are saved with projects and sounds. Shared effect settings are saved only with the project. Muting stops new sends while existing tails decay.

05 · Volume & mixing

MASTER controls the final output level. The physical knob controls the final synthesizer, USB and Bluetooth input output, including USB recording. Minimum mutes. Its position remains in effect when changing projects and is not saved per project. Turning it briefly displays a MASTER percentage or MASTER MUTED.

Track LEVEL is the mix level saved in a project. On HOME / SEQ BASIC, K1 adjusts track level. The 303 Volume, 808 part Level and sample Level balance sounds within the engine.

  • Tap GLO for the mixer; white keys 1–8 toggle track mute.
  • Tap GLO for the mixer; white keys 9–16 toggle track solo.
  • In the mixer, SELECT chooses a track; K1–K4 adjust its group of four tracks (1–4 or 5–8).

Multiple tracks can be soloed; a track cannot be muted and soloed at the same time.

Browser Mute silences monitoring while editing and sequencing continue. Use HOME+PLAY or Panic / Stop all to stop and return to the start.

06 · Saving & files

The workspace is not a saved project. Unsaved device edits exist only in memory and are lost on restart or when loading another project. Browser and device saves are separate. “Save to device” transfers, writes the slot and reads it back to verify it.

Switching presets and saving are separate

Switch directly: On HOME, turn PRESETS to change the whole preset. The screen shows the current project name. Playback continues if running, or stays stopped. Changes apply immediately without a save prompt. Use PRESETS on EDIT for single-track sounds.

Browse the list: Press HOME on the overview. Turn K1 right for FACTORY (16 built-in projects) or left for USER (16 user slots). PRESETS / SELECT loads the selected number immediately. PLAY loads and plays; SAVE opens project saving. White keys 1–16 select directly and preserve playback state. An empty USER slot displays a message and keeps the current project.

Switching presets replaces the workspace, including unsaved edits. Press SAVE first when you want to keep changes. Factory projects are read-only; save your edited version to USER.

Save: Press SAVE, select a USER slot with SELECT / PRESETS, choose a name character with K1 and change it with K2. Press SAVE to write. Replacing another occupied slot requires a second SAVE. After success, the previous page returns; HOME cancels. The current slot updates directly. An asterisk in the title indicates unsaved changes.

The top status bar distinguishes browser preview, device connection and browser edits not yet written. Connecting does not read or sync automatically. Read device project in the main controls replaces the browser workspace; HOME+SAVE can undo it. Written status requires matching read-back; saving in the browser does not write FM1. Read again after editing on the device.

Projects save each track’s ARP settings. Back up sample audio separately as a sample bank.

NORMAL timbre edits are saved with projects. For PLAY timbre edits, export a timbre file, or save DX7 voices to the independent library. Project backups do not include the independent voice library or sample audio.

Put your browser project on FM1

  • Connect FM1 with a USB data cable. Finish editing in the browser, then click “Save to device”.
  • Allow MIDI / SysEx, choose the target slot and click “Save and verify”. Existing content in that slot will be replaced.
  • Wait for the read-back verification message before disconnecting. After restarting, load the slot from USER. You do not need to press SAVE on the device again.

“Read device project” brings the device workspace into the browser. “Restore to workspace” does not overwrite a device slot automatically. Panel SAVE in the browser writes a local browser slot. Clearing browser data removes those saves, so export important work.

FileContents
.fm1A complete eight-track project: engines, parameters, track levels, loop lengths, steps and more. Does not include sample audio.
.fm1tOne track’s engine, sound parameters and level, without steps. Supports all six engines.
.syxStandard DX7 single patches and 32-patch banks. The target device track must use DX7.
.fm1sThe complete 8-slot sample bank shared by all projects. Back it up separately for projects that use custom samples.

If the project list cannot be read, load, save and import remain disabled. Click Refresh list to retry. Operations become available only after the full list has been read; a valid selected slot is preserved when retrying.

07 · Sample bank

Edit audio in Projects & sounds > 8-slot sample bank. The slots share 436 KiB, about 19.55 seconds, with remaining capacity shown. Read the device bank first to retain existing samples.

WAV: PCM 8/16/24/32-bit or 32-bit float, mono or stereo, 8–192 kHz; at most 32 MiB and 120 seconds. Share about 19.55 seconds across 8 slots. Each sample rounds up to 10 ms; replacing a slot reuses its space.

  • Start with a complete bank. To edit device samples, connect the library, click “Read device sample bank”, then “Back up browser sample bank”. You can also start with the built-in bank or a .fm1s file.
  • Choose a slot and a WAV file. Set the name (up to 15 ASCII characters), start and end, then use “Audition selection” to check the trim.
  • Optional: edit in the browser first.Use Encode and replace browser slot to edit the browser bank first. Writing to the device performs this step automatically.
  • Try it in the simulator. Click “Send to simulator”, select a SAMPLER track and audition with the white keys.
  • Write to the device. After choosing WAV, click Import selection and write to device; for an edited bank, click Write device sample bank. Success is reported only after device read-back matches. Writing replaces all 8 slots and affects matching slots in every project.
  • Back up both files. Save the .fm1 project and back up the .fm1s sample bank. A project backup alone does not contain audio.

Sample writes pause playback and recording. The first part of progress sends data; the second reads it back. Stay connected until verification succeeds. Retrigger the matching SAMPLER slot; 808 is a separate synthesis engine and does not use imported audio. If interrupted, rewrite the full bank to recover. Project slots are separate.

If sample checks find an active write, a read or validation error, or an incomplete reply, samples are not overwritten automatically. Check the connection as prompted. If recovery is needed, manually write a backup or the built-in bank in Projects & sounds.

08 · MIDI, Bluetooth & clock

USB & browser connection

Download the complete HTML for offline play and editing. Device transfer needs desktop Chrome / Edge with Web MIDI, a USB data cable and MIDI / SysEx permission. If connection fails, close other pages or apps using MIDI, then reconnect. Default input channels are 1–7 for tracks 1–7 and 10 for track 8; change them on TRACK ROLE.

“Connect MIDI input” lets an external keyboard play the browser instrument. The project-library connection transfers projects and sounds to the device. Choose USB audio input / output in your computer or music software settings.

Physical MIDI IN (UART) and USB MIDI both receive as soon as FM1 starts, independently of the Bluetooth switch. Both use the same input channel settings: by default, tracks 1–7 use channels 1–7 and track 8 uses channel 10. Change these on TRACK ROLE. Select the matching channel and check the track role, mute and level.

Channels and receive rules

All channel messages follow the sender’s CHAN: CH1–7 address tracks 1–7; CH10 addresses track 8. Notes, bend, modulation and controllers share this mapping regardless of the selected LCD track. Unassigned CH8, CH9 and CH11–16 are ignored. Changing engines does not change channels. Physical MIDI IN, USB MIDI and BLE MIDI use the same rules.

For example, CH2 notes, Pitch Bend, CC1 and CC7 control track 2. Track 8 uses CH10.

Received messageAction and scope
Note On / OffAll engines receive Note On / Off and velocity; zero-velocity Note On is Note Off. The 808 and Sampler use drum notes to select parts.
Pitch BendFM, 303, PSG and Pluck receive 14-bit pitch bend, centered at 8192, with a ±2-semitone range. It affects held and subsequent notes. Use each part’s TUNE for 808 / Sampler pitch.
CC1 · Mod WheelFM: pitch vibrato, with a basic wheel response even when patch PMS is 0. 303: EnvMod. PSG, Pluck, 808 and Sampler: track LFO depth, defaulting to volume tremolo when no LFO is configured.
CC7 / CC10 / CC11 / CC91All engines: CC7 track volume; CC10 pan (0 left, 64 center, 127 right); CC11 expression (0 silent, 127 full level); CC91 reverb send.
CC64 / Channel Pressure / CC2 / CC4FM, 303, PSG and Pluck: CC64 sustain, 64–127 down and 0–63 up. FM also receives channel pressure for vibrato and CC2 / CC4 for amplitude control, subject to patch amplitude sensitivity.
CC120 / CC121 / CC123CC120 stops the track’s voices; CC123 releases its external notes (sustain still applies); CC121 resets live bend, expression, pan, modulation and sustain without changing sound parameters.
Program ChangeProgram Change uses FM1 sounds: FM 0–127 selects the 128 independent library positions; 303 uses 0 / 1 for saw / square; PSG uses 0–3 for YM / AY / NOISE / MIX. Other engines ignore it. Some software displays numbers starting at 1.
Engine CC303 also receives CC5 slide time, CC71 resonance, CC74 cutoff and CC75 decay. PSG receives CC74 noise and CC72 release. Pluck receives CC74 brightness, CC75 decay and CC72 release.

CC7, CC91, program changes and sound parameter edits can be saved in projects. Bend, expression, pan and live modulation are not stored. CC121 does not undo edited 303 EnvMod. FM1 retains its own sound system and does not provide the GM 128-program sound set.

Synchronization and transport

Clock, Start, Continue, Stop, Song Position and MMC are not MIDI channel messages: they control the whole device. With MIDI clock selected, external Clock synchronizes at 24 pulses per quarter note. Clock alone does not start playback. Start begins from the start, Continue resumes at the current position, and Stop stops playback and releases sequence / arpeggiator notes.

Song Position Pointer (F2) locates in MIDI clock mode. Each unit is one sixteenth note, wrapped to each track’s loop length. Follow it with Continue and Clock. Start returns to the beginning. System Reset (FF) stops, rewinds and releases all notes.

MMC supports Stop (01), Play (02), Deferred Play (03), Record Strobe (06), Record Exit (07) and Pause (09), addressed to device ID 00 or broadcast 7F. Play / Deferred Play resume; Record Strobe enables recording and resumes; Record Exit ends recording only; Stop / Pause also end recording. External Clock is still required in MIDI clock mode.

Examples: F0 7F 7F 06 01 F7 is MMC Stop; F0 7F 7F 06 02 F7 is MMC Play. Numbers are hexadecimal.

When several MIDI devices are connected, use only one clock and transport master to avoid duplicate pulses. MTC time code, MMC time-code locate / fast-forward / rewind, RPN / NRPN, polyphonic pressure, GM Reset, Bank Select, Active Sensing timeout monitoring and unlisted controllers are not implemented and are ignored.

Bluetooth settings

Hold SEQ, choose BLUETOOTH / CLOCK with SELECT and press SAVE. K1 is the Bluetooth master switch, K2 controls Bluetooth audio, K3 chooses the BLE MIDI DEVICE / HOST role, and K4 selects the clock. MIDI is available whenever Bluetooth is on. Factory defaults are Bluetooth and audio on, DEVICE role and internal clock. PRESETS selects the action at the bottom of the screen; SAVE executes it. The settings page offers the HOST device list or MIDI pairing reset. In the list, SELECT chooses a device; PRESETS chooses connect, scan, disconnect or settings. Pairing reset requires a second SAVE; HOME cancels. SEQ, EDIT and the other upper panel shortcuts still switch pages directly.

The browser can preview settings pages. Actual Bluetooth scanning, pairing and audio input are operated on the device.

INT & MIDI clock

INT:FM1 uses its internal tempo; K4 sets 30–300 BPM. MIDI:FM1 follows external MIDI Clock and waits for Start / Continue. The tempo knob does not change the external tempo. After about two seconds without clock, the screen shows LOST. Check that the external device is sending clock, or return to INT.

09 · Firmware updates

Click Restore original V15, connect, confirm your backup, then click Install original V15 and accept the warning. The page installs embedded V15, then restores 128 factory voices across four banks, replacing existing voices. A device already on V15 shows Restore factory voices and skips firmware installation. If interrupted, reconnect and retry. After completion, select a voice to play. Open projects and samples are incompatible with original firmware; it does not provide Open build-hash read-back or project-library functions. To return to Open, click Switch to Official Open firmware and follow the force-flash steps. External firmware files are not supported.

  • In Projects & sounds, back up the current project and sample bank, then load and back up any other project slots you need. For each independent voice group A–D, select Read this group, then Export this group as .syx. Export PLAY timbre edits separately, or save DX7 edits to the independent library before backing it up.
  • Open Device update in the latest workbench and connect FM1 by USB. Firmware is included.
  • Check “I have backed up the sounds, projects and samples I want to keep”, click “Connect device” and allow MIDI / SysEx.
  • Check the device information, click “Start update” and maintain power and USB until completion.
  • Wait for restart and version verification. If samples are not ready, write the matching .fm1s backup from the sample page. Writing the built-in bank replaces all 8 slots and cannot recover previous custom samples.

A successfully completed update using the same storage layout preserves valid project slots and the sample bank. Still back up projects, voices and samples separately before flashing. Unsaved memory edits are not restored after restart. Updating firmware does not transfer the browser project to the device automatically.

If the update is interrupted or the device stays in update mode, keep this same version of the update page, check the connection, reconnect and follow the prompts. To migrate from other firmware, enable Force flash, reconnect and confirm the compatibility risks. Firmware without the USB-MIDI update protocol requires its matching recovery tool. Migration may erase projects and samples; back up first.

If a normal connection identifies other firmware (for example FM-1_015), click Enable force flash and reconnect. This enables force mode and connects again; it does not write firmware. The page shows the next required step. Confirm your backup, then click Force flash and accept the compatibility warning to start. You can also enable force mode by clicking anywhere on its checkbox row. A compatible USB-MIDI update protocol is still required.

After reconnecting USB, click Connect again; old device information is cleared. Reconnect when switching between firmware update and the project library. After flashing, wait for the sample check. If firmware is updated but samples are not ready, check or restore the sample bank; do not repeat the firmware update.

If connection fails, open Connection details to see the MIDI IN / OUT ports detected for this attempt. Missing ports, unpaired ports and no identity reply are different problems. Close other MIDI apps and updater tabs, then power-cycle, reconnect USB and connect again. Force flash cannot skip the device handshake.

10 · Troubleshooting

No sound, or MASTER seems unresponsive

In the browser, check Mute, output level and system volume. On FM1, check MASTER, track LEVEL, mute/solo and output connections. Minimum MASTER mutes the output.

PLAY does not advance

Press SEQ, turn ALGORITHM to SYNC / LOOP and check the INT / MIDI clock source on K1. If it uses external MIDI clock but no clock source is connected, choose INT. If the sequencer advances silently, check that the track has steps, is unmuted and has a nonzero level.

A knob does something unexpected

Check the current page and bottom labels. PRESETS changes complete presets on HOME, track sounds or drum parts on EDIT, and steps on SEQ. K1–K4 follow the bottom parameter page.

Edits disappear after restart, or browser and device differ

Save workspace edits to a USER slot. Browser panel SAVE stores only a browser copy. The device receives the project after “Save to device” completes. Write custom samples to the sample bank separately and back up the .fm1s file.

Replacing samples changes drums in other projects

All projects share 8 sample slots. Restore the corresponding .fm1s bank to recover the original audio. Importing a .fm1 project does not restore samples.

Stuck notes or held buttons

On the device, press HOME+PLAY. In the browser, press Esc or “Panic / Stop all” and release any latched buttons. Stop playing, then close other MIDI input sources.

The page cannot connect or buttons are unavailable

When a device is already recognized, changing Force flash reconnects automatically without writing. Wait for connection, confirm your backup, then click Force flash and accept the compatibility warning. If not connected yet, click Connect device first.

Open the website link or full HTML in desktop Chrome / Edge, not an attachment preview that blocks scripts. Check MIDI / SysEx permission, the USB data cable and device connection. Close apps using the port. For secure-context errors, open the page over HTTPS or localhost.

The Play button, panel PLAY and Space enable sound before starting playback. If sound cannot start, playback stays stopped; resolve the browser audio issue and try again. Panic / Stop all or changing panel pages cancels pending playback while sound is starting.

Tap Tempo: tap SEQ on the FX DELAY page without leaving it, hold HOME and tap SEQ elsewhere, or click TAP on the web page. Two taps start detection; up to four intervals are averaged over 30–300 BPM. In FX, turn PRESETS to DELAY: K1 toggles SYNC, K2 sets division or milliseconds, K3 sets internal BPM and K4 sets feedback. New projects default to synchronized eighth notes. With SYNC off, FREE holds a fixed time of about 30–2040 ms. Switching modes selects the nearest available time. T means triplet and D means dotted. Delay follows internal or external MIDI BPM and retains its last interval if clock is lost. Old projects keep their manual delay; projects using synchronized divisions or extended fixed times require updated firmware.

M-VAVE FM1

© 2026 M-VAVE. APP: GPLv3 with an SDK linking exception; modification and redistribution are permitted under its terms, without warranty. See below for SDK and third-party terms.

Source + SDK · Official forum

APP: GPLv3 with the FM1 SDK linking exception; no warranty. SDK and firmware resources have separate redistribution terms in THIRD_PARTY.md. Source: https://open.m-vave.com/releases/V14/6324230590b8e332bc544128abd7b919a2efd5982db60ea9a11663d4ea820344/FM1-Open-V14-Development-Kit-copy-update.zip FM-1 V15 recovery firmware: https://www.m-vave.com/download (PC Firmware / FM-1 V15). Distributed by M-VAVE under Apache-2.0. Retain applicable licenses and notices; components with separate licenses retain their terms. See THIRD_PARTY.md.

===== THIRD_PARTY.md =====

Third-party notices

Project-owned public APP sources: GPLv3 with the FM1 SDK linking exception. Component licenses also apply to firmware and web builds that include those components.

ComponentSource / license
303Open303, MIT; C adaptation with FM1 drive and MIDI handling.
808 / PluckDaisySP, MIT; selected Plaits drum and String models with FM1 voices and controls.
SVFstmlib, MIT; fixed-rate filter adaptation.
FM modelMSFA / Dexed msfa, Apache-2.0; C adaptation of algorithms, envelopes, LFO and note scaling, with FM1 arithmetic and controls.
PSGemu2149, MIT; memory/table adaptation and ultrasonic output fix.
SEA codecSEA, MIT; fixed-format encoder, decoder and tables.
Packagerjl-misctools, MIT; format/codec adaptation with FM1 validation and layout.
Native C runtimesdk/lib/libc.a, Newlib-derived routines; native runtime notices below.
Native compiler runtimesdk/lib/libcompiler_rt.a; identified compiler-rt routines, legacy MIT / University of Illinois-NCSA notices below.
micro-eccIdentified routines in sdk/lib/libfm1_engine.a; BSD-2-Clause notice below.
JieLi SDK materialIdentified AC79 SDK material retains its upstream terms; see SDK notices below.
APP / open web engine tuningIncorporates contributions by Vikram Rojo (PR #2), with FM1 integration changes (2026-10-17). Original file licenses and notices are retained.
Configuration resourcesdk/tools/pack/cfg_tool.bin, identical to the file in the identified official JieLi Apache-2.0 SDK distribution; see below.
Boot/update resources and recovery firmwaresdk/tools/pack/uboot.boot, ota.bin, boot-config.bin, and sdk/firmware/FM-1_015.fwsc, Apache-2.0; see the resource terms below.
Original 128-voice DX7 bankapp/fm_factory.inc: extracted without parameter or ordering changes from the bundled M-VAVE V15 recovery image (Apache-2.0), losslessly encoded for Flash in 2026. Reproduce with node tools/Generate-Factory-DX7.mjs; the tool pins the source package and decoded VMEM SHA-256 hashes. Demo project recipes remain separate.

Company-authored FM1 modifications, FX, arrangements and synthesized demo samples: Copyright (c) 2026 珠海笙科智能科技有限公司 (M-VAVE). Product names identify compatible formats; no upstream endorsement is implied.

Binary SDK

M-VAVE engine permission

For the proprietary engine components in sdk/lib/libfm1_engine.a that 珠海笙科智能科技有限公司 (M-VAVE) owns or has authority to license, M-VAVE grants each recipient a non-exclusive, royalty-free permission to:

  1. Download, retain and copy those components for developing and using firmware on M-VAVE FM1 devices.
  2. Link those components with the APP or a modified APP, and build, install and run the resulting firmware on M-VAVE FM1 devices.
  3. Redistribute those components in binary form, separately as SDK components or as part of firmware and firmware-inclusive workbenches for M-VAVE FM1 devices, for commercial or non-commercial purposes.

Redistributions must retain applicable copyright and license notices and include this file. No proprietary SDK source is supplied. The FM1-only condition applies to the proprietary engine grant; the APP, third-party components and separately licensed resources retain their respective rights and terms. Complete packages must comply with each component's license, including applicable corresponding-source requirements.

Boot/update resources and recovery firmware

The boot/update files in sdk/tools/pack/ (uboot.boot, ota.bin, cfg_tool.bin, boot-config.bin) and the recovery image sdk/firmware/FM-1_015.fwsc are distributed by M-VAVE under the Apache License, Version 2.0. That license permits use, modification and redistribution, including binary redistribution for commercial or non-commercial purposes, subject to its terms. Include the Apache-2.0 license, mark modified files as required, and retain applicable copyright, attribution and NOTICE material under section 4. The full license is reproduced under “FM model / Apache-2.0” below. Components with their own license notices retain those terms. These resource permissions do not change the APP's GPLv3 license or the proprietary engine's separate terms.

The APP license does not apply to proprietary SDK components. M-VAVE supplies its proprietary components as-is, without warranty. To the extent permitted by applicable law, M-VAVE is not liable for losses arising from their use, including data loss or device malfunction. Mandatory statutory rights and separately agreed warranties are unaffected.

中文授权说明

对于 sdk/lib/libfm1_engine.a 中珠海笙科智能科技有限公司(M-VAVE)拥有权利或有权许可的专有引擎组件,M-VAVE 向每位接收者授予非独占、免许可费的以下权限:

  1. 为开发和使用 M-VAVE FM1 设备固件而下载、保存和复制这些组件。
  2. 将这些组件与 APP 或修改后的 APP 链接,编译、安装并在 M-VAVE FM1 设备上运行所得固件。
  3. 以二进制形式再分发这些组件,包括作为单独的 SDK 组件、FM1 固件或内含该固件的工作台的一部分,允许商业及非商业用途。

再分发时须保留适用的版权与许可声明,并附带本文件;本授权不提供专有 SDK 源码。“仅限 FM1”只适用于上述专有引擎授权,APP、第三方组件及单独授权资源保留各自的权利与条款。分发完整包时须遵守各组件许可,包括适用的对应源码提供要求。

引导及恢复资源:上述 uboot.boot、ota.bin、cfg_tool.bin、boot-config.bin 及 FM-1_015.fwsc 由 M-VAVE 按 Apache License 2.0 分发,可依其条款使用、修改及再分发,包括商业和非商业用途的二进制再分发。分发时须附 Apache-2.0 许可,按要求标明文件修改,并依第 4 条保留适用的版权、署名和 NOTICE 内容;许可全文见下方“FM model / Apache-2.0”。具有单独许可声明的组件保留各自条款。本组资源的许可不改变 APP 的 GPLv3 许可及专有引擎的单独条款。

APP 许可不适用于专有 SDK 组件;专有组件按现状提供,不提供担保。在适用法律允许范围内,M-VAVE 不对使用这些组件导致的损失承担责任,包括数据丢失或设备异常;不可排除的法定权利及另行约定的担保不受影响。

SDK notices

Reference: JieLi AC79 AIoT SDK, commit 5fa84a9b2f723a5e9337ad79dc2ad741fc98fe2d.

Upstream distribution notice: Copyright © 2024-2026 Zhuhai Jieli Technology Co., Ltd. All rights reserved.

Apache-2.0-covered SDK material retains that license. The full text appears below. Newlib, compiler-rt and other components retain their respective licenses and notices; the SDK's root license does not replace them. Redistribution must retain applicable license and NOTICE material and identify modifications as required.

FreeRTOS

<details> <summary>MIT license</summary>

Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. If you wish to use our Amazon FreeRTOS name, please do so in a fair use way that does not cause confusion.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


        
</details>

### micro-ecc

Identified micro-ecc routines retain the BSD-2-Clause notice from [micro-ecc](https://github.com/kmackay/micro-ecc/blob/541b3a78026420a3e369c4c9281c396b5e531113/LICENSE.txt). This identifies the notice source, not the vendor archive's exact revision.

<details>
<summary>BSD-2-Clause license</summary>

      

Copyright (c) 2014, Kenneth MacKay All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this

list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


        
</details>

## MIT components

Copyright (c) 2009 Robin Schmidt (Open303).

Copyright (c) 2020 Electrosmith, Corp. (DaisySP).

Copyright (c) 2016 Emilie Gillet (Plaits).

Copyright (c) 2014 Emilie Gillet (stmlib).

Copyright (c) 2014 Mitsutaka Okazaki (emu2149; source copyright 2001-2022).

Copyright (c) 2025 Dani Biró (SEA).

Copyright (c) 2023 Andrey Grigoryev (kagaimiq) (jl-misctools).

FM1 modifications: Copyright (c) 2026 珠海笙科智能科技有限公司 (M-VAVE).

<details>
<summary>MIT license</summary>

      

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


        
</details>

## FM model / Apache-2.0

Copyright 2012, 2013 Google Inc.

Copyright 2016-2025 Pascal Gauthier (Dexed msfa note-model changes).

Modified by M-VAVE, 2026: C port, fixed-point arithmetic, block processing, voice management and MIDI controls.

<details>
<summary>Apache License 2.0</summary>

      

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  1. Grant of Copyright License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  1. Grant of Patent License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  1. Redistribution. You may reproduce and distribute copies of the

Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  1. Submission of Contributions. Unless You explicitly state otherwise,

any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  1. Trademarks. This License does not grant permission to use the trade

names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  1. Disclaimer of Warranty. Unless required by applicable law or

agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  1. Limitation of Liability. In no event and under no legal theory,

whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  1. Accepting Warranty or Additional Liability. While redistributing

the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


        
</details>

## Native compiler runtime

`sdk/lib/libcompiler_rt.a`: the identified compiler-rt routines retain the MIT / University of Illinois-NCSA notices below, reproduced from [LLVM compiler-rt release_40](https://github.com/llvm-mirror/compiler-rt/blob/release_40/LICENSE.TXT). This identifies the license-text source, not the archive's exact source revision. Other components retain their applicable terms. The WebAssembly runtime is listed separately below.

原生 `libcompiler_rt.a` 中已识别的 compiler-rt 代码保留下列 MIT / University of Illinois-NCSA 声明。链接仅标明许可文本来源,不确认归档的精确源码版本;其他组件保留各自条款。

<details>
<summary>Native compiler-rt legacy notices / 原生 compiler-rt 历史许可</summary>

Source: https://raw.githubusercontent.com/llvm-mirror/compiler-rt/release_40/LICENSE.TXT

      

============================================================================== compiler_rt License ==============================================================================

The compiler_rt library is dual licensed under both the University of Illinois "BSD-Like" license and the MIT license. As a user of this code you may choose to use it under either license. As a contributor, you agree to allow your code to be used under both.

Full text of the relevant licenses is included below.

==============================================================================

University of Illinois/NCSA Open Source License

Copyright (c) 2009-2016 by the contributors listed in CREDITS.TXT

All rights reserved.

Developed by:

LLVM Team

University of Illinois at Urbana-Champaign

http://llvm.org

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  • Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimers.

  • Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.

  • Neither the names of the LLVM Team, University of Illinois at

Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.

==============================================================================

Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

============================================================================== Copyrights and Licenses for Third Party Software Distributed with LLVM: ============================================================================== The LLVM software contains code written by third parties. Such software will have its own individual LICENSE.TXT file in the directory in which it appears. This file will describe the copyrights, license, and restrictions which apply to that code.

The disclaimer of warranty in the University of Illinois Open Source License applies to all code in the LLVM Distribution, and nothing in any of the other licenses gives permission to use the names of the LLVM Team or the University of Illinois to endorse or promote products derived from this Software.


        
</details>

## Native C runtime

`libc.a` contains Newlib-derived routines, including `dtoa`, `mprec`, `gethex` and `hexnan`. The original notices below are retained for the identified components; they do not certify the complete vendor archive's composition or exact upstream revision.

<details>
<summary>Newlib runtime notices / Newlib 运行库许可</summary>

Source: [Newlib 2.2.0.20150225](https://sourceware.org/pub/newlib/newlib-2.2.0.20150225.tar.gz), `COPYING.NEWLIB` and the named source files.

      

The newlib subdirectory is a collection of software from several sources.

Each file may have its own copyright/license that is embedded in the source file. Unless otherwise noted in the body of the source file(s), the following copyright notices will apply to the contents of the newlib subdirectory:

(1) Red Hat Incorporated

Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved.

This copyrighted material is made available to anyone wishing to use, modify, copy, or redistribute it subject to the terms and conditions of the BSD License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license is available at http://www.opensource.org/licenses. Any Red Hat trademarks that are incorporated in the source code or documentation are not subject to the BSD License and may only be used or replicated with the express permission of Red Hat, Inc.

(2) University of California, Berkeley

Copyright (c) 1981-2000 The Regents of the University of California. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the University nor the names of its contributors

may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

(3) David M. Gay (AT&T 1991, Lucent 1998)

The author of this software is David M. Gay.

Copyright (c) 1991 by AT&T.

Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.

THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.


The author of this software is David M. Gay.

Copyright (C) 1998-2001 by Lucent Technologies All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

libc/argz/argz_add.c, libc/argz/argz_add_sep.c, libc/argz/argz_append.c, libc/argz/argz_count.c, libc/argz/argz_create.c, libc/argz/argz_create_sep.c, libc/argz/argz_delete.c, libc/argz/argz_extract.c, libc/argz/argz_next.c, libc/argz/argz_replace.c, libc/argz/argz_stringify.c, libc/argz/buf_findstr.c

/ Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

libc/argz/argz_insert.c

/ Copyright (C) 2002, 2005 by Red Hat, Incorporated. All rights reserved.

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

libc/stdlib/atoll.c

/*

  • Copyright (c) 1988, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/ctype/ctype_.c

/*

  • Copyright (c) 1989 The Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/div.c, libc/stdlib/ldiv.c

/*

  • Copyright (c) 1990 Regents of the University of California.
  • All rights reserved.

*

  • This code is derived from software contributed to Berkeley by
  • Chris Torek.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/drand48.c, libc/stdlib/erand48.c, libc/stdlib/jrand48.c, libc/stdlib/lcong48.c, libc/stdlib/lrand48.c, libc/stdlib/mrand48.c, libc/stdlib/nrand48.c, libc/stdlib/rand48.c, libc/stdlib/seed48.c, libc/stdlib/srand48.c

/*

  • Copyright (c) 1993 Martin Birgmeier
  • All rights reserved.

*

  • You may redistribute unmodified or modified versions of this source
  • code provided that the above copyright notice and this and the
  • following conditions are retained.

*

  • This software is provided ``as is'', and comes with no warranties
  • of any kind. I shall in no event be liable for anything that happens
  • to anyone/anything when using this software.

*/

libc/stdlib/dtoa.c, libc/stdlib/mprec.c

/**************************************************************** *

  • The author of this software is David M. Gay.

*

  • Copyright (c) 1991 by AT&T.

*

  • Permission to use, copy, modify, and distribute this software for any
  • purpose without fee is hereby granted, provided that this entire notice
  • is included in all copies of any software which is or includes a copy
  • or modification of this software and in all copies of the supporting
  • documentation for such software.

*

  • THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
  • WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
  • REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
  • OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.

**************************************************************/

libc/locale/fix_grouping.c

/*

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdio/flags.c

/*

  • Copyright (c) 1990 Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms are permitted
  • provided that the above copyright notice and this paragraph are
  • duplicated in all such forms and that any documentation,
  • advertising materials, and other materials related to such
  • distribution and use acknowledge that the software was developed
  • by the University of California, Berkeley. The name of the
  • University may not be used to endorse or promote products derived
  • from this software without specific prior written permission.
  • THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  • IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  • WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

*/

libc/stdlib/gdtoa-gethex.c

/****************************************************************

The author of this software is David M. Gay.

Copyright (C) 1998 by Lucent Technologies All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

****************************************************************/

libc/stdlib/gdtoa-hexnan.c

/****************************************************************

The author of this software is David M. Gay.

Copyright (C) 2000 by Lucent Technologies All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

****************************************************************/

libc/ctype/iswalpha.c, libc/ctype/iswblank.c, libc/ctype/iswcntrl.c, libc/ctype/iswgraph.c, libc/ctype/iswprint.c, libc/ctype/iswpunct.c, libc/ctype/iswspace.c, libc/ctype/towctrans.c, libc/ctype/towlower.c, libc/ctype/towupper.c, libc/ctype/wctrans.c, libc/ctype/wctype.c

/* Copyright (c) 2002 Red Hat Incorporated. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

The name of Red Hat Incorporated may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */

libc/stdlib/ldtoa.c

/* Extended precision arithmetic functions for long double I/O.

  • This program has been placed in the public domain.

*/

libc/stdlib/ldtoa.c

/*

  • Revision history:

*

  • 5 Jan 84 PDP-11 assembly language version
  • 6 Dec 86 C language version
  • 30 Aug 88 100 digit version, improved rounding
  • 15 May 92 80-bit long double support
  • 22 Nov 00 Revised to fit into newlib by Jeff Johnston <[email protected]>

*

  • Author: S. L. Moshier.

*

  • Copyright (c) 1984,2000 S.L. Moshier

*

  • Permission to use, copy, modify, and distribute this software for any
  • purpose without fee is hereby granted, provided that this entire notice
  • is included in all copies of any software which is or includes a copy
  • or modification of this software and in all copies of the supporting
  • documentation for such software.

*

  • THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
  • WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
  • OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
  • SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.

/

libc/stdlib/llabs.c, libc/stdlib/lldiv.c

/*-

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/locale/locale.c

/*

  • Copyright (c) 1996 - 2002 FreeBSD Project
  • Copyright (c) 1991, 1993
  • The Regents of the University of California. All rights reserved.

*

  • This code is derived from software contributed to Berkeley by
  • Paul Borman at Krystal Technologies.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/memmem.c

/* Byte-wise substring search, using the Two-Way algorithm.

  • Copyright (C) 2008 Eric Blake
  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

libc/search/qsort.c

/*-

  • Copyright (c) 1992, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdio/sccl.c

/*-

  • Copyright (c) 1990 The Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms are permitted
  • provided that the above copyright notice and this paragraph are
  • duplicated in all such forms and that any documentation,
  • advertising materials, and other materials related to such
  • distribution and use acknowledge that the software was developed
  • by the University of California, Berkeley. The name of the
  • University may not be used to endorse or promote products derived
  • from this software without specific prior written permission.
  • THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  • IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  • WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

*/

libm/common/s_copysign.c, libm/common/s_finite.c, libm/common/s_isnan.c, libm/common/s_isnand.c, libm/common/s_modf.c, libm/common/s_scalbn.c, libm/common/sf_copysign.c, libm/common/sf_finite.c, libm/common/sf_isnan.c, libm/common/sf_isnanf.c, libm/common/sf_modf.c, libm/common/sf_scalbn.c, libm/math/s_frexp.c, libm/math/s_ldexp.c, libm/math/sf_frexp.c, libm/math/sf_ldexp.c

/*

  • ====================================================
  • Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.

*

  • Developed at SunPro, a Sun Microsystems, Inc. business.
  • Permission to use, copy, modify, and distribute this
  • software is freely granted, provided that this notice
  • is preserved.
  • ====================================================

*/

libm/common/sf_fpclassify.c

/ Copyright (C) 2002,2007 by Red Hat, Incorporated. All rights reserved.

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

libm/common/s_fpclassify.c

/ Copyright (C) 2002, 2007 by Red Hat, Incorporated. All rights reserved.

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

libc/string/strcasestr.c

/*-

  • Copyright (c) 1990, 1993
  • The Regents of the University of California. All rights reserved.

*

  • The quadratic code is derived from software contributed to Berkeley by
  • Chris Torek.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/strcasestr.c

/* Linear algorithm Copyright (C) 2008 Eric Blake

  • Permission to use, copy, modify, and distribute the linear portion of
  • software is freely granted, provided that this notice is preserved.

*/

libc/string/strlcat.c, libc/string/strlcpy.c, libc/string/wcslcat.c, libc/string/wcslcpy.c

/*

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. The name of the author may not be used to endorse or promote products
  • derived from this software without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
  • INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  • AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
  • THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  • EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  • PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  • OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  • WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  • OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  • ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/

libc/stdlib/strtod.c

/****************************************************************

The author of this software is David M. Gay.

Copyright (C) 1998-2001 by Lucent Technologies All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent or any of its entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

****************************************************************/

libc/string/strtok_r.c, libc/string/wcstok.c

/*

  • Copyright (c) 1988 Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/strtold.c, libc/stdlib/wcstold.c

/* (C) Copyright IBM Corp. 2009

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of IBM nor the names of its contributors may be

used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */

libc/stdlib/strtol.c, libc/stdlib/strtoll.c, libc/stdlib/strtoll_r.c, libc/stdlib/wcstol.c, libc/stdlib/wcstoll.c, libc/stdlib/wcstoll_r.c

/*-

  • Copyright (c) 1990 The Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/strtoll_r.c

/* This code is based on strtoul.c which has the following copyright. It is used to convert a string into a signed long long.

long long _strtoll_r (struct _reent rptr, const char s, char **ptr, int base); */

libc/stdlib/strtoul.c, libc/stdlib/strtoull.c, libc/stdlib/strtoull_r.c, libc/stdlib/wcstoul.c, libc/stdlib/wcstoull.c, libc/stdlib/wcstoull_r.c

/*

  • Copyright (c) 1990 Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/strtoull_r.c

/* This code is based on strtoul.c which has the following copyright. It is used to convert a string into an unsigned long long.

long long _strtoull_r (struct _reent rptr, const char s, char **ptr, int base);

*/

libc/search/tdelete.c, libc/search/tdestroy.c, libc/search/tfind.c, libc/search/tsearch.c, libc/search/twalk.c

/*

  • Tree search generalized from Knuth (6.2.2) Algorithm T just like
  • the AT&T man page says.

*

  • The node_t structure is for internal use only, lint doesn't grok it.

*

  • Written by reading the System V Interface Definition, not the code.

*

  • Totally public domain.

*/

libc/misc/unctrl.c

/*

  • Copyright (c) 1981, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. All advertising materials mentioning features or use of this software
  • must display the following acknowledgement:
  • This product includes software developed by the University of
  • California, Berkeley and its contributors.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/wcscat.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcscat.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp

*/

libc/string/wcschr.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcschr.c,v 1.2 2000/12/21 05:07:25 itojun Exp

*/

libc/string/wcscmp.c

/*-

  • Copyright (c) 1990, 1993
  • The Regents of the University of California. All rights reserved.

*

  • This code is derived from software contributed to Berkeley by
  • Chris Torek.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/wcscpy.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcscpy.c,v 1.2 2000/12/21 04:51:09 itojun Exp

*/

libc/string/wcscspn.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcscspn.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp

*/

libc/string/wcslen.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcslen.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp

*/

libc/string/wcsncat.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcsncat.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp

*/

libc/string/wcsncmp.c

/*

  • Copyright (c) 1989, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 3. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/wcsnlen.c

/*

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the above copyright notice,
  • this condition statement, and the following disclaimer are retained
  • in any redistributions of the source code.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/string/wcspbrk.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcspbrk.c,v 1.2 2000/12/21 05:07:25 itojun Exp

*/

libc/string/wcsrchr.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcsrchr.c,v 1.2 2000/12/21 05:07:25 itojun Exp

*/

libc/string/wcsspn.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcsspn.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp

*/

libc/string/wcsstr.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wcsstr.c,v 1.2 2000/12/21 05:07:25 itojun Exp

*/

libc/stdlib/wcstod.c

/*-

  • Copyright (c) 2002 Tim J. Robbins
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*/

libc/stdlib/wcstoll_r.c

/* This code is based on strtoul.c which has the following copyright. It is used to convert a wide string into a signed long long.

long long _wcstoll_r (struct _reent rptr, const wchar_t s, wchar_t **ptr, int base); */

libc/stdlib/wcstoull_r.c

/* This code is based on wcstoul.c which has the following copyright. It is used to convert a wide string into an unsigned long long.

unsigned long long _wcstoull_r (struct _reent rptr, const wchar_t s, wchar_t **ptr, int base);

*/

libc/string/wcwidth.c

/*

  • This is an implementation of wcwidth() (defined in
  • IEEE Std 1002.1-2001) for Unicode.

*

  • http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html

*

  • In fixed-width output devices, Latin characters all occupy a single
  • "cell" position of equal width, whereas ideographic CJK characters
  • occupy two such cells. Interoperability between terminal-line
  • applications and (teletype-style) character terminals using the
  • UTF-8 encoding requires agreement on which character should advance
  • the cursor by how many cell positions. No established formal
  • standards exist at present on which Unicode character shall occupy
  • how many cell positions on character terminals. These routines are
  • a first attempt of defining such behavior based on simple rules
  • applied to data provided by the Unicode Consortium.

*

  • For some graphical characters, the Unicode standard explicitly
  • defines a character-cell width via the definition of the East Asian
  • FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.
  • In all these cases, there is no ambiguity about which width a
  • terminal shall use. For characters in the East Asian Ambiguous (A)
  • class, the width choice depends purely on a preference of backward
  • compatibility with either historic CJK or Western practice.
  • Choosing single-width for these characters is easy to justify as
  • the appropriate long-term solution, as the CJK practice of
  • displaying these characters as double-width comes from historic
  • implementation simplicity (8-bit encoded characters were displayed
  • single-width and 16-bit ones double-width, even for Greek,
  • Cyrillic, etc.) and not any typographic considerations.

*

  • Much less clear is the choice of width for the Not East Asian
  • (Neutral) class. Existing practice does not dictate a width for any
  • of these characters. It would nevertheless make sense
  • typographically to allocate two character cells to characters such
  • as for instance EM SPACE or VOLUME INTEGRAL, which cannot be
  • represented adequately with a single-width glyph. The following
  • routines at present merely assign a single-cell width to all
  • neutral characters, in the interest of simplicity. This is not
  • entirely satisfactory and should be reconsidered before
  • establishing a formal standard in this area. At the moment, the
  • decision which Not East Asian (Neutral) characters should be
  • represented by double-width glyphs cannot yet be answered by
  • applying a simple rule from the Unicode database content. Setting
  • up a proper standard for the behavior of UTF-8 character terminals
  • will require a careful analysis not only of each Unicode character,
  • but also of each presentation form, something the author of these
  • routines has avoided to do so far.

*

  • http://www.unicode.org/unicode/reports/tr11/

*

  • Markus Kuhn -- 2007-05-26 (Unicode 5.0)

*

  • Permission to use, copy, modify, and distribute this software
  • for any purpose and without fee is hereby granted. The author
  • disclaims all warranties with regard to this software.

*

  • Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c

*/

libc/string/wmemchr.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wmemchr.c,v 1.2 2000/12/20 14:08:31 itojun Exp

*/

libc/string/wmemcmp.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wmemcmp.c,v 1.2 2000/12/20 14:08:31 itojun Exp

*/

libc/string/wmemcpy.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wmemcpy.c,v 1.2 2000/12/20 14:08:31 itojun Exp

*/

libc/string/wmemmove.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wmemmove.c,v 1.2 2000/12/20 14:08:31 itojun Exp

*/

libc/string/wmemset.c

/*-

  • Copyright (c)1999 Citrus Project,
  • All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • citrus Id: wmemset.c,v 1.2 2000/12/20 14:08:31 itojun Exp

*/


        
</details>

## Platform C headers

<details>
<summary>Original notices / 原始许可文本</summary>

      

Platform C header notices

These comment blocks are reproduced verbatim from the headers named below. Their conditions and disclaimers remain applicable. This collection does not establish the source or licensing of the separate binary runtime archives; see the component table above. Other original file comments remain in the headers.

sdk/include/libc/inttypes.h ===========================

/*

  • Copyright (c) 2004, 2005 by
  • Ralf Corsepius, Ulm/Germany. All rights reserved.

*

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

sdk/include/libc/stdint.h =========================

/*

  • Copyright (c) 2004, 2005 by
  • Ralf Corsepius, Ulm/Germany. All rights reserved.

*

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

sdk/include/libc/stdio.h ========================

/*

  • Copyright (c) 1990 The Regents of the University of California.
  • All rights reserved.

*

  • Redistribution and use in source and binary forms are permitted
  • provided that the above copyright notice and this paragraph are
  • duplicated in all such forms and that any documentation,
  • advertising materials, and other materials related to such
  • distribution and use acknowledge that the software was developed
  • by the University of California, Berkeley. The name of the
  • University may not be used to endorse or promote products derived
  • from this software without specific prior written permission.
  • THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  • IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  • WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

*

  • @(#)stdio.h 5.3 (Berkeley) 3/15/86

*/

sdk/include/libc/sys/_intsup.h ==============================

/*

  • Copyright (c) 2004, 2005 by
  • Ralf Corsepius, Ulm/Germany. All rights reserved.

*

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

sdk/include/libc/sys/_stdint.h ==============================

/*

  • Copyright (c) 2004, 2005 by
  • Ralf Corsepius, Ulm/Germany. All rights reserved.

*

  • Permission to use, copy, modify, and distribute this software
  • is freely granted, provided that this notice is preserved.

*/

sdk/include/libc/sys/_timespec.h ================================

/*-

  • Copyright (c) 1982, 1986, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • @(#)time.h 8.5 (Berkeley) 5/4/95
  • from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
  • $FreeBSD$

*/

sdk/include/libc/sys/_timeval.h ===============================

/*-

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.

*

  • THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • $FreeBSD$

*/

sdk/include/libc/sys/cdefs.h ============================

/*-

  • Copyright (c) 1991, 1993
  • The Regents of the University of California. All rights reserved.

*

  • This code is derived from software contributed to Berkeley by
  • Berkeley Software Design, Inc.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  • $FreeBSD$

*/

sdk/include/libc/sys/features.h ===============================

/*

*

  • COPYRIGHT (c) 1989-2014.

*

  • On-Line Applications Research Corporation (OAR).

*

  • Permission to use, copy, modify, and distribute this software for any
  • purpose without fee is hereby granted, provided that this entire notice
  • is included in all copies of any software which is or includes a copy
  • or modification of this software.

*

  • THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
  • WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
  • OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
  • SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.

*

  • $Id$

*/

sdk/include/libc/sys/reent.h ============================

/*

  • rand48 family support

*

  • Copyright (c) 1993 Martin Birgmeier
  • All rights reserved.

*

  • You may redistribute unmodified or modified versions of this source
  • code provided that the above copyright notice and this and the
  • following conditions are retained.

*

  • This software is provided ``as is'', and comes with no warranties
  • of any kind. I shall in no event be liable for anything that happens
  • to anyone/anything when using this software.

*/

sdk/include/libc/sys/time.h ===========================

/*-

  • Copyright (c) 1982, 1986, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • @(#)time.h 8.5 (Berkeley) 5/4/95
  • $FreeBSD$

*/

sdk/include/libc/sys/timespec.h ===============================

/*-

  • Copyright (c) 1982, 1986, 1993
  • The Regents of the University of California. All rights reserved.

*

  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
  • 1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
  • 2. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
  • documentation and/or other materials provided with the distribution.
  • 4. Neither the name of the University nor the names of its contributors
  • may be used to endorse or promote products derived from this software
  • without specific prior written permission.

*

  • THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  • ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  • IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  • ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  • FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  • DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  • OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  • HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  • OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.

*

  • @(#)time.h 8.5 (Berkeley) 5/4/95
  • from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
  • $FreeBSD$

*/


        
</details>


## WebAssembly runtime

<details>
<summary>Original notices / 原始许可文本</summary>

      

WASI SDK 27: wasi-libc 3f7eb4c7d6ed; LLVM/compiler-rt 87f0227cb601. Unmodified runtime notices for the browser WebAssembly build.

Source: https://raw.githubusercontent.com/WebAssembly/wasi-libc/3f7eb4c7d6ed/LICENSE

wasi-libc as a whole is multi-licensed under the Apache License v2.0 with LLVM Exceptions, the Apache License v2.0, and the MIT License. See the LICENSE-APACHE-LLVM, LICENSE-APACHE and LICENSE-MIT files, respectively, for details.

Portions of this software are derived from third-party works covered by their own licenses:

dlmalloc/ - CC0; see the notice in malloc.c for details emmalloc/ - MIT; see the notice in emmalloc.c for details libc-bottom-half/cloudlibc/ - BSD-2-Clause; see the LICENSE file for details libc-top-half/musl/ - MIT; see the COPYRIGHT file for details fts/musl-fts/ - BSD-3-Clause; see the COPYING file for details

wasi-libc's changes to these files are multi-licensed under the Apache License v2.0 with LLVM Exceptions, the Apache License v2.0, the MIT License, and the original licenses of the third-party works.

Source: https://raw.githubusercontent.com/WebAssembly/wasi-libc/3f7eb4c7d6ed/LICENSE-MIT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Source: https://raw.githubusercontent.com/WebAssembly/wasi-libc/3f7eb4c7d6ed/libc-top-half/musl/COPYRIGHT

musl as a whole is licensed under the following standard MIT license:


Copyright © 2005-2020 Rich Felker, et al.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Authors/contributors include:

A. Wilcox Ada Worcester Alex Dowad Alex Suykov Alexander Monakov Andre McCurdy Andrew Kelley Anthony G. Basile Aric Belsito Arvid Picciani Bartosz Brachaczek Benjamin Peterson Bobby Bingham Boris Brezillon Brent Cook Chris Spiegel Clément Vasseur Daniel Micay Daniel Sabogal Daurnimator David Carlier David Edelsohn Denys Vlasenko Dmitry Ivanov Dmitry V. Levin Drew DeVault Emil Renner Berthing Fangrui Song Felix Fietkau Felix Janda Gianluca Anzolin Hauke Mehrtens He X Hiltjo Posthuma Isaac Dunham Jaydeep Patil Jens Gustedt Jeremy Huntwork Jo-Philipp Wich Joakim Sindholt John Spencer Julien Ramseier Justin Cormack Kaarle Ritvanen Khem Raj Kylie McClain Leah Neukirchen Luca Barbato Luka Perkov M Farkas-Dyck (Strake) Mahesh Bodapati Markus Wichmann Masanori Ogino Michael Clark Michael Forney Mikhail Kremnyov Natanael Copa Nicholas J. Kain orc Pascal Cuoq Patrick Oppenlander Petr Hosek Petr Skocik Pierre Carrier Reini Urban Rich Felker Richard Pennington Ryan Fairfax Samuel Holland Segev Finer Shiz sin Solar Designer Stefan Kristiansson Stefan O'Rear Szabolcs Nagy Timo Teräs Trutz Behn Valentin Ochs Will Dietz William Haddon William Pitcock

Portions of this software are derived from third-party works licensed under terms compatible with the above MIT license:

The TRE regular expression implementation (src/regex/reg and src/regex/tre) is Copyright © 2001-2008 Ville Laurikari and licensed under a 2-clause BSD license (license text in the source files). The included version has been heavily modified by Rich Felker in 2012, in the interests of size, simplicity, and namespace cleanliness.

Much of the math library code (src/math/ and src/complex/) is Copyright © 1993,2004 Sun Microsystems or Copyright © 2003-2011 David Schultz or Copyright © 2003-2009 Steven G. Kargl or Copyright © 2003-2009 Bruce D. Evans or Copyright © 2008 Stephen L. Moshier or Copyright © 2017-2018 Arm Limited and labelled as such in comments in the individual source files. All have been licensed under extremely permissive terms.

The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008 The Android Open Source Project and is licensed under a two-clause BSD license. It was taken from Bionic libc, used on Android.

The AArch64 memcpy and memset code (src/string/aarch64/*) are Copyright © 1999-2019, Arm Limited.

The implementation of DES for crypt (src/crypt/crypt_des.c) is Copyright © 1994 David Burren. It is licensed under a BSD license.

The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was originally written by Solar Designer and placed into the public domain. The code also comes with a fallback permissive license for use in jurisdictions that may not recognize the public domain.

The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011 Valentin Ochs and is licensed under an MIT-style license.

The x86_64 port was written by Nicholas J. Kain and is licensed under the standard MIT terms.

The mips and microblaze ports were originally written by Richard Pennington for use in the ellcc project. The original code was adapted by Rich Felker for build system and code conventions during upstream integration. It is licensed under the standard MIT terms.

The mips64 port was contributed by Imagination Technologies and is licensed under the standard MIT terms.

The powerpc port was also originally written by Richard Pennington, and later supplemented and integrated by John Spencer. It is licensed under the standard MIT terms.

All other files which have no copyright comments are original works produced specifically for use as part of this library, written either by Rich Felker, the main author of the library, or by one or more contibutors listed above. Details on authorship of individual files can be found in the git version control history of the project. The omission of copyright and license comments in each file is in the interest of source tree size.

In addition, permission is hereby granted for all public header files (include/ and arch//bits/) and crt files intended to be linked into applications (crt/, ldso/dlstart.c, and arch/*/crt_arch.h) to omit the copyright notice and permission notice otherwise required by the license, and to use these files without any requirement of attribution. These files include substantial contributions from:

Bobby Bingham John Spencer Nicholas J. Kain Rich Felker Richard Pennington Stefan Kristiansson Szabolcs Nagy

all of whom have explicitly granted such permission.

This file previously contained text expressing a belief that most of the files covered by the above exception were sufficiently trivial not to be subject to copyright, resulting in confusion over whether it negated the permissions granted in the license. In the spirit of permissive licensing, and of not having licensing issues being an obstacle to adoption, that text has been removed.

Source: https://raw.githubusercontent.com/WebAssembly/wasi-libc/3f7eb4c7d6ed/libc-bottom-half/cloudlibc/LICENSE

Copyright (c) 2015-2017 Nuxi (https://nuxi.nl/) and contributors.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

  1. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Source: https://raw.githubusercontent.com/llvm/llvm-project/87f0227cb601/compiler-rt/LICENSE.TXT

============================================================================== The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: ==============================================================================

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

  1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

  1. Grant of Copyright License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

  1. Grant of Patent License. Subject to the terms and conditions of

this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

  1. Redistribution. You may reproduce and distribute copies of the

Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

  1. Submission of Contributions. Unless You explicitly state otherwise,

any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

  1. Trademarks. This License does not grant permission to use the trade

names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

  1. Disclaimer of Warranty. Unless required by applicable law or

agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

  1. Limitation of Liability. In no event and under no legal theory,

whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

  1. Accepting Warranty or Additional Liability. While redistributing

the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

---- LLVM Exceptions to the Apache 2.0 License ----

As an exception, if, as a result of your compiling your source code, portions of this Software are embedded into an Object form of such source code, you may redistribute such embedded portions in such Object form without complying with the conditions of Sections 4(a), 4(b) and 4(d) of the License.

In addition, if you combine or link compiled forms of this Software with software that is licensed under the GPLv2 ("Combined Software") and if a court of competent jurisdiction determines that the patent provision (Section 3), the indemnity provision (Section 9) or other Section of the License conflicts with the conditions of the GPLv2, you may retroactively and prospectively choose to deem waived or otherwise exclude such Section(s) of the License, but only in their entirety and only with respect to the Combined Software.

============================================================================== Software from third parties included in the LLVM Project: ============================================================================== The LLVM Project contains third party software which is under different license terms. All such code will be identified clearly using at least one of two mechanisms:

  1. It will be in a separate directory tree with its own LICENSE.txt or

LICENSE file at the top containing the specific license and restrictions which apply to that software, or

  1. It will contain specific license and restriction terms at the top of every

file.

============================================================================== Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): ==============================================================================

The compiler_rt library is dual licensed under both the University of Illinois "BSD-Like" license and the MIT license. As a user of this code you may choose to use it under either license. As a contributor, you agree to allow your code to be used under both.

Full text of the relevant licenses is included below.

==============================================================================

University of Illinois/NCSA Open Source License

Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT

All rights reserved.

Developed by:

LLVM Team

University of Illinois at Urbana-Champaign

http://llvm.org

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

  • Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimers.

  • Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.

  • Neither the names of the LLVM Team, University of Illinois at

Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.

==============================================================================

Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Source: https://raw.githubusercontent.com/WebAssembly/wasi-libc/3f7eb4c7d6ed/dlmalloc/src/malloc.c

/* This is a version (aka dlmalloc) of malloc/free/realloc written by Doug Lea and released to the public domain, as explained at http://creativecommons.org/publicdomain/zero/1.0/ Send questions, comments, complaints, performance data, etc to [email protected]

*/

</details>

===== LICENSE.md =====

FM1 APP license

Copyright (c) 2026 珠海笙科智能科技有限公司 (M-VAVE).

Company-owned APP sources are licensed under GNU GPL version 3 only, with the linking permission below. Files carrying a different license retain it. SDK binaries are separately licensed under THIRD_PARTY.md; their proprietary source is not supplied.

This also covers the project-owned build launcher (build.bat) and workbench template (sdk/Update.html.in). The SEA-derived web/synth/sample_metadata.inc retains its MIT terms in THIRD_PARTY.md.

Additional permission under GNU GPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with the FM1 binary SDK (sdk/lib/libfm1_engine.a and the accompanying binary SDK components listed in sdk/manifest.json) (or a modified version of that library), containing parts covered by the terms of the FM1 Binary SDK terms in THIRD_PARTY.md and the applicable original component licenses, the licensors of this Program grant you additional permission to convey the resulting work.

This permission applies to code marked with this exception. The APP and its modifications remain subject to GPLv3; the SDK keeps its separate terms. This exception does not require disclosure of proprietary SDK source and does not grant rights in third-party code beyond its applicable license. Include this license and THIRD_PARTY.md with distributions, and provide the corresponding APP source and build/install scripts as required by GPLv3.

APP 自有源码采用 GPLv3,并附上述链接例外:允许与配套 FM1 二进制 SDK 链接后分发,无须因此公开专有 SDK 源码。APP 及其修改部分仍遵循 GPL,SDK 与第三方组件保留各自许可。分发时附带本文件、THIRD_PARTY.md,并按 GPL 要求提供对应 APP 源码及编译、安装脚本。

Scope of separate component terms

The FM1 device restriction and separate redistribution conditions in THIRD_PARTY.md apply to the components identified there, not to the GPL-covered APP source or its modifications. They do not add restrictions to the rights granted for the APP under GPLv3. Permission to distribute separately licensed components must come from their applicable licenses or rights holders; the linking exception does not supply that permission.

THIRD_PARTY.md 中对指定组件的设备范围与再分发条件,不适用于 GPL 覆盖的 APP 源码及其修改,不额外限制 APP 的 GPL 权利。单独授权组件的分发权限须来自其适用许可或权利人,链接例外本身不授予该权限。

Warranty

The APP is provided without warranty under GPLv3 sections 15–17 below. Back up projects and samples before flashing; firmware defects may cause data loss or device malfunction. Mandatory statutory rights and separately agreed warranties are unaffected. Proprietary SDK warranty terms are in THIRD_PARTY.md.

APP 按现状提供,不提供担保,责任限制以以下 GPLv3 第 15–17 条及适用法律为准。刷写前请备份工程和采样;固件缺陷可能造成数据丢失或设备异常。本声明不影响不可排除的法定权利及另行约定的担保。专有 SDK 的免责条款见 THIRD_PARTY.md。

GNU General Public License version 3

~~~text GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS

  1. Definitions.

"This License" refers to version 3 of the GNU General Public License.

"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.

To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.

A "covered work" means either the unmodified Program or a work based on the Program.

To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

  1. Source Code.

The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.

A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.

The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

The Corresponding Source for a work in source code form is that same work.

  1. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

  1. Protecting Users' Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.

  1. Conveying Verbatim Copies.

You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

  1. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

a) The work must carry prominent notices stating that you modified it, and giving a relevant date.

b) The work must carry prominent notices stating that it is released under this License and any conditions added under section

  1. This requirement modifies the requirement in section 4 to

"keep intact all notices".

c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

  1. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.

b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.

c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.

d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

  1. Additional Terms.

"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the…

The text above was extracted automatically from the source page and may miss images, tables or code blocks. The original is authoritative.

Published by Hacker News
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗