1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-30 01:29:37 +00:00
Commit Graph

490 Commits

Author SHA1 Message Date
Daniel Serpell
17c5504129 In Atari XEX output format, join memory areas if possible.
This makes executables shorter if two memory areas are consecutive.
2020-07-04 23:28:10 +02:00
laubzega
dc4142e1a9 Minor formatting changes after review. 2020-05-29 10:00:33 +02:00
laubzega
083f3ae26b Fix for #928. 2020-05-29 10:00:33 +02:00
Chris Cacciatore
ad1eadd60d Added support for --large-alignment in ld65.
Implemented the same way as in ca65.
2020-05-15 17:54:41 -04:00
bbbradsmith
e0cb33d9d4 SEGMENT start of 0 should be valid 2020-03-22 21:03:07 +01:00
bbbradsmith
c9355734f5 make linker generated export warning conistent with the import warning 2019-11-18 21:50:44 +01:00
bbbradsmith
788fbcc9c8 Fix silent crash failure on warning from linker command line define import size mismatch 2019-11-18 21:50:44 +01:00
Greg King
4f24a06f0e Fixed error handling for missing names in ld65 configure files. 2019-10-12 07:59:49 -04:00
Greg King
28584b31f1 Made the ld65 configure file's segment offset attribute accept zero as a value.
Expressions are allowed as values.  Therefore, zero might be set explicitly by some conditions.
2019-06-30 22:44:10 -04:00
bbbradsmith
7d14cff6bb o65.c: missed a link time resolution of EXPR_NEARADDR 2019-05-11 12:32:44 +02:00
bbbradsmith
10cefdb456 move EXPR_NEARADDR to end of enum list to avoid invalidation of existing object binaries? 2019-05-11 12:32:44 +02:00
bbbradsmith
ac2ecb0b2c 65816 now generate EXPR_NEARADDR instead of EXPR_WORD0 for default assumed address mode, which will be validated by the linker's range check rather than blindly truncated. Assuming the assembler correctly validated this, the linker is allowed to truncate. 2019-05-11 12:32:44 +02:00
Christian Groessler
dd53c2ddc3 src/ld65/main.c: fix copy'n'paste error in comment 2019-05-01 10:57:48 +02:00
Christian Groessler
5a05acf936 ld65: implement '--allow-multiple-definition' command line parameter 2019-05-01 10:57:48 +02:00
Christian Groessler
c248c14075 src/ld65/exports.c: Issue an error instead of a warning for duplicate global symbols. 2019-05-01 10:57:48 +02:00
Daniel Serpell
61463e1a70 Don't write INITAD if the memory area is empty. 2019-02-21 19:00:17 -03:00
Daniel Serpell
b03ae76b54 Add support for INITAD to the Atari binary format. 2019-02-21 19:00:03 -03:00
Daniel Serpell
2aa5b4cafe Rewrites ATARI EXE segment writing to optimally write segment sizes.
We now expand segments as needed to write a minimal set of headers.
2019-02-03 18:13:35 -03:00
Daniel Serpell
4e51fcbdd4 Don't support overwrite segments.
This simplifies the memory area size calculations.
2019-02-03 18:11:53 -03:00
Daniel Serpell
63d9b492b7 Only write full ATARI XEX header in the first chunk. 2019-02-03 18:09:51 -03:00
Daniel Serpell
8e3fe2ef86 Remove unused function. 2019-02-03 18:05:15 -03:00
Daniel Serpell
0e947d594f Add support for Atari XEX file format to LD65 2019-02-03 18:04:46 -03:00
Greg King
a6b04f6e97 Changed most "backticks" (grave accents) into apostrophes.
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Evgeny Vrublevsky
d4088f9eee Don't output a warning about alignment when section address is defined by START or OFFSET and fits required alignment requirements 2018-10-18 15:37:14 +02:00
Laubzega
d293d766ef New segment type renamed to "overwrite". 2018-09-08 19:18:41 -07:00
Laubzega
c7bb27bac9 Rename more stuff from "overlay" to "replace". 2018-09-06 00:18:39 -07:00
Laubzega
cd9efd53fe Segment OVERLAY renamed to REPLACE. Bugfix for read-only segments. Formatting. 2018-09-04 00:34:28 -07:00
Laubzega
1b0e2cf783 Fix for multiple overlay segments. 2018-08-25 20:21:12 -07:00
Laubzega
8b584cb89f Add segment type "overlay". 2018-08-25 10:18:23 -07:00
Chris Cacciatore
bad8412131 All programs print version and exit successfully.
* All programs are now using the ProgName variable as well.
2016-08-12 08:54:41 -07:00
Lauri Kasanen
8951e74ba7 ld65: Be more verbose in token errors 2016-05-27 20:03:58 +03:00
Greg King
fac246c799 Moved a warning message, about misaligned segments, to a configuration function.
It used to be shown only if the segment was written into a binary file.  Now, it's shown for all badly-aligned segments.
2016-03-29 05:40:12 -04:00
Greg King
8e9bf4d419 Changed the way that ld65 handles bad offset/start segment attributes, and reports memory area overflows.
1. Offset/start attributes within a memory area are ignored after an overflow.
2. If a previous segment ends past an offset/start address, then that address is not used.
3. Short map files were generated for memory overflows; now, they are generated for bad offset/start addresses, too.
2015-10-22 19:24:08 -04:00
Greg King
0390c34e88 Changed multi-line C comments into another style.
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Christian Groessler
f7bc6a836d Set the "simple" bit in the .o65 mode word only if text, data, and bss
are adjacent.
2014-05-21 23:49:56 +02:00
Christian Groessler
1a348ab73f Fix error which slipped in in '-L' command line parameter handling. 2014-03-28 22:40:53 +01:00
Christian Groessler
5114a3b861 Make ld65 -L command line option position independent again.
Handle long versions of command line arguments correctly.
2014-03-27 23:50:25 +01:00
Christian Groessler
18c2289784 Make ld65 -L command line option position dependent again. 2014-03-25 15:36:38 +01:00
Christian Groessler
2a9cdf9152 Make ld65 command line arguments position independent. 2014-03-24 13:58:34 +01:00
Christian Groessler
bdc60b21d4 add a missing ":" 2014-03-20 02:22:43 +01:00
Christian Groessler
d72e62cae2 Extend the map file to include a table of exports sorted by value. 2014-03-20 02:01:52 +01:00
Oliver Schmidt
4185caf855 Normalized code. 2014-03-04 01:11:19 +01:00
Oliver Schmidt
50c4fd1c4c Improve MinGW support.
- Code specific to Windows was #ifdef'ed with _MSC_VER so it wasn't included with MinGW. So _MSC_VER is replaced with _WIN32.
- MinGW doesn't support _get_pgmptr() so it is necessary to directly call the Win32 function GetModuleFileName(). This implies including windows.h which in turn causes a name clash with the Win32 function SearchPath(). So the cc65 type SearchPath is renamed to SearchPaths.
2014-03-03 22:12:14 +01:00
Oliver Schmidt
c22c6f28ff Removed option from usage.
The option in question was removed with 37c492b544
2013-10-09 11:33:53 +02:00
Greg King
cf7f7b9ef2 Fixed ld65's precalculation of memory-area sizes.
Before this fix, BSS-type and ZP-type segments never were counted.  Now, they are counted if their memory areas are filled.  (It must be done because their places in the output file are filled.)

The fix allows us to build programs for the CBM510 and CBM610 platforms.  We won't see an "Internal error" diagnostic message about a bad file-offset.
2013-07-10 02:37:09 -04:00
Oliver Schmidt
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Oliver Schmidt
5ddf9e0878 Merge pull request #7 from greg-king5/config-buf
Removed unneeded variable and function.
2013-05-07 10:02:15 -07:00
Greg King
1b2095d7e9 Removed unneeded variable and function.
They were used with built-in configurations.
Commit 37c492b544 made them obsolete.
2013-05-06 20:35:18 -04:00
Oliver Schmidt
55667b94fb Added search path relative to running binary on Windows.
In contrast to *IX it doesn't make much sense to add compile time defined
search paths to Windows binaries: There's no standard path like /usr/local/bin
(and there are no symbolic links to link from there to another location).

On the other hand it's (again in contrast to *IX) easy for Windows binaries
to determine their own paths. Therefore it's appropriate to make use of that
to add run time defined default search paths.
2013-05-06 23:20:56 +02:00
Greg King
af55b24593 Changed the order of directories that are searched for files. 2013-05-06 08:11:01 -04:00